2014-11-12 17 views
5

Wystarczy przeliczone moją aplikację ember-CLI, ale nie wiem, jak korzystać Ember.Application.register dłużej bo register wydaje się nie być dostępna, gdy uruchamiana jest aplikacja z extend zamiast create .wtrysk zależność bez Singleton w Ember-cli

import Ember from 'ember'; 
import App from 'myapp/app'; 

var AdminMyController = Ember.ObjectController.extend({ 
}); 

// THROWS ERROR HERE BECAUSE register isn't, uh...registered? 
App.register('controller:adminMyController', AdminMyController, { singleton: false }); 

export default AdminMyController; 

Poprzednio, ponieważ aplikacja była ogólnoświatowa, mogłem zarejestrować ją w tej samej klasie.

Czy będę musiał przenieść wszystkie wywołania rejestru do inicjalizatora, aby uzyskać dostęp do instancji aplikacji?

Odpowiedz

1

Uwierzę, że inicjator zrobi to za Ciebie. Musisz utworzyć folder initializers w katalogu aplikacji (ten sam poziom co kontrolery, szablony itp.). Ten plik powinien tam być.

import Ember from 'ember'; 

var AdminMyController = Ember.ObjectController.extend({ 
    ... 
}); 

export default { 
    name: 'adminMyController', 
    initialize: function (container, application) { 
     container.register('controller:adminMyController', AdminMyController, {singleton: false}); 
    } 
}; 
+0

Tak, to było moje rozwiązanie na końcu. Byłoby ładniej zarejestrować się w kontenerze w danym pliku, ale nadal nie jestem pewien, jak to zrobić bez GLOBALS. – typeoneerror