2015-05-14 13 views
17

Dopo aver aggiornato il mio app di Ember 1.12.0, ho notato un sacco di avvertimenti come questo:Utilizzando istanza Inizializzatori con Ember 1.12.0 e l'Ember CLI

lookup fu chiamato in Registro di sistema. L'API initializer non riceve più un contenitore e dovresti utilizzare uno instanceInitializer per cercare oggetti dal contenitore. Vedi http://emberjs.com/guides/deprecations#toc_deprecate-access-to-instances-in-initializers per maggiori dettagli.

Questo sembra essere causato dall'utilizzo di container.lookup da un inizializzatore, che andava bene nelle versioni precedenti di Ember.

Dal post del blog su Ember 1.12.0, sembra che in un'applicazione basata su Ember globale, la differenza tra fare un inizializzatore e un Initializer istanza sta usando

App.initializer({ 
    ... 
}); 

vs

App.instanceInitializer({ 
    ... 
}); 

Tuttavia, non sembra descrivere come utilizzare gli inizializzatori di istanza con la CLI di Ember. Qualcuno sa come usarli?

MODIFICA: Risulta un plug-in del browser di tutte le cose che bloccava le informazioni di cui avevo bisogno sul post originale del blog. Lascio questo qui nel caso in cui è utile a nessuno, ma nel CLI inizializzatori regolari andare all'interno

app/initializers/__my__initializer.js 

mentre istanza Inizializzatori sono definiti come

app/instance-initializers/__my__initializer.js 

EDIT 2: Se qualcuno è in arrivo qui perché stanno vivendo lo stesso problema, this issue on the Ember.js repo fa riferimento a questo problema e include un collegamento a un jsfiddle che dimostra il problema.

+0

grazie amico, ho pensato che fosse ovvio per usa app/instance-initializers/__ my__initializer.js dopo aver seguito la convenzione di denominazione di ember-cli. è stato bello averlo confermato! A parte la comunità dello stack è severo nel fornire risposte come domande. La parte di modifica che hai menzionato, gentilmente aggiungila come anwer. – wallop

+0

Grazie per il suggerimento! – alexlafroscia

risposta

7

Si scopre che un plug-in del browser di tutte le cose stava bloccando le informazioni di cui avevo bisogno sul post originale del blog. Lascio questo qui nel caso in cui è utile a nessuno, ma nel CLI inizializzatori regolari andare all'interno

app/initializers/__my__initializer.js 

mentre istanza Inizializzatori sono definiti come

app/instance-initializers/__my__initializer.js