Search code examples
ember.jsember-dataember.js-2

How to access the Ember Data Store from the console?


In Ember 2+, does anyone know how to get a reference to the Ember Store in order to troubleshoot Model mapping in the javascript console?

It was possible through App.__container__.lookup in Ember 1, but this doesn't exist anymore, and it's bloody hard to find documentation on this.

Thanks


Solution

  • If you look in your package.json, you should see a ember-export-application-global package that's installed by default (if not, install it). This will export your application not to the global App object, but to a global object that's named after your app. So you might have window.TodoList or window.ShoppingCart instead of window.App. From there you can use this line (similar to Ember 1.x.x):

    AppName.__container__.lookup('service:store')
    

    You can also do what I do and create an instance initializer for it:

    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);
        }
    }
    

    Then you can just use AppName.store.