Deshabilitar extensiones de prototipos y especificar el tipo de URL

Las extensiones del prototipo se pueden deshabilitar estableciendo el indicador EXTEND_PROTOTYPES en falso. Abra el archivo config / environment.js y configure la bandera en el objeto ENV -

ENV = {
   EmberENV: {
      EXTEND_PROTOTYPES: false
   }
}

Ember.js puede ampliar los prototipos de objetos JavaScript de las siguientes formas:

  • Array- Se utiliza para implementar las interfaces Ember.Enumerable, Ember.MutableEnumerable, Ember.MutableArray y Ember.Array .

  • String- Agrega algunos métodos auxiliares de cadena como camelize () (especifica la forma lowerCamelCase), w () (divide la cadena en unidades separadas), etc.

  • Function- Se utiliza para explicar las funciones como propiedades calculadas mediante el método property () .

Las extensiones de prototipo anteriores se pueden usar en el archivo de configuración de la aplicación como se muestra a continuación:

ENV = {
   EmberENV: {
      EXTEND_PROTOTYPES: {
         String: false,
         Array: true
      }
   }
}

Especificar el tipo de URL

El tipo de URL de la aplicación se puede especificar utilizando las cuatro opciones del enrutador Ember:

  • history
  • hash
  • none
  • auto

Historia

Esta opción utiliza la API del navegador HTML5 para crear las URL. Por ejemplo, cree un enrutador llamado myroute1 bajo otro enrutador myroute que navegará a la ruta myroute.myroute1 .

Router.map(function() {
   this.route('myroute', function() {
      this.route('myroute1');
   });
});

El código anterior se crea en el archivo app / router.js para definir las asignaciones de URL que toman el parámetro como un objeto para crear la ruta.

Picadillo

Esta opción especifica el estado inicial de una aplicación mediante el uso de URL basadas en anclajes que se sincronizarán a medida que nos movemos. Por ejemplo, la ruta de ruta anterior / # / myroute / myroute1 navegará a la ruta myroute.myroute1 .

Ninguna

Esta opción no actualiza la URL y establece el indicador ENV.locationType en none para deshabilitar la API de ubicación que no permite que la URL del navegador interactúe con su aplicación.