Jeśli spojrzeć w swojej package.json
, powinieneś zobaczyć ember-export-application-global
pakiet, który jest instalowany domyślnie (jeśli nie, należy go zainstalować). Spowoduje to wyeksportowanie aplikacji nie do globalnego obiektu App
, ale do obiektu globalnego, którego nazwa pochodzi od Twojej aplikacji. Więc możesz mieć window.TodoList
lub window.ShoppingCart
zamiast window.App
. Stamtąd można skorzystać z tej linii (podobny do Ember 1.xx):
AppName.__container__.lookup('service:store')
Można również zrobić to, co robię i stworzyć dla niego instance initializer:
export default {
name: 'store-on-app',
after: 'ember-data',
initialize(instance) {
const application = instance.container.lookup('application:main');
const store = instance.container.lookup('service:store');
application.set('store', store);
}
}
Następnie można po prostu użytkownik AppName.store
.
Nie możesz po prostu użyć Inspektora Ember? – nem035
Cóż, jest to dobre tylko dla "normalnie" załadowanych obiektów. Mam model, który nie ładuje się prawidłowo (wiele pól zerowych), podejrzewam problem z mapowaniem, ale nie mam widocznych błędów w konsoli, więc chciałem ręcznie wyzwolić ładowanie sklepu. –