Desativando extensões de protótipo e especificando tipo de URL

As extensões de protótipo podem ser desabilitadas definindo o sinalizador EXTEND_PROTOTYPES como falso. Abra o arquivo config / environment.js e defina a sinalização no objeto ENV -

ENV = {
   EmberENV: {
      EXTEND_PROTOTYPES: false
   }
}

Os protótipos de objetos JavaScript podem ser estendidos por Ember.js das seguintes maneiras -

  • Array- É usado para implementar as interfaces Ember.Enumerable, Ember.MutableEnumerable, Ember.MutableArray e Ember.Array .

  • String- Adiciona alguns métodos auxiliares de string, como camelize () (especifica a forma lowerCamelCase), w () (divide a string em unidades separadas), etc.

  • Function- É usado para explicar as funções como propriedades calculadas usando o método property () .

As extensões de protótipo acima podem ser usadas no arquivo de configuração do aplicativo conforme mostrado abaixo -

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

Especificando o tipo de URL

O tipo de URL do aplicativo pode ser especificado usando as quatro opções do roteador Ember -

  • history
  • hash
  • none
  • auto

História

Esta opção usa a API do navegador HTML5 para criar os URLs. Por exemplo, crie um roteador chamado myroute1 em outro roteador myroute que navegará até a rota myroute.myroute1 .

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

O código acima é criado no arquivo app / router.js para definir os mapeamentos de URL que leva o parâmetro como um objeto para criar a rota.

Cerquilha

Esta opção especifica o estado inicial de um aplicativo usando a URL baseada em âncora, que será sincronizada à medida que avançamos. Por exemplo, o caminho da rota acima / # / myroute / myroute1 irá navegar para a rota myroute.myroute1 .

Nenhum

Esta opção não atualiza a URL e define o sinalizador ENV.locationType como nenhum para desativar a API de localização, que não permite que a URL do navegador interaja com seu aplicativo.