2015-10-06 13 views
5

Czy w Ember 2+ ktoś wie, jak uzyskać odniesienie do sklepu Ember w celu rozwiązywania problemów z mapowaniem modeli w konsoli javascript?Jak uzyskać dostęp do magazynu danych Ember z konsoli?

Było to możliwe dzięki App.__container__.lookup w Ember 1, ale to już nie istnieje, i trudno jest znaleźć dokumentację na ten temat.

Dzięki

+0

Nie możesz po prostu użyć Inspektora Ember? – nem035

+0

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. –

Odpowiedz

11

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 .

+0

Jest doskonały. musiał zainstalować pakiet, ponieważ jest to migrowana stara aplikacja ember. Dziękuję bardzo! –

Powiązane problemy