Ember Data: получить модель в консоли

у меня есть самое простое приложение Ember в этом JSBin. Все, что я пытаюсь сделать, это найти модель. На основе других поэтому вопросы, Я пробовал следующие.

App.User.get('store').find('user', 1);
App.User.Store.find('user', 1);

я определил App.Store, а App.Store возвращает undefined в консоли. Мне, очевидно, не хватает абсолютных самых основных концепций моделей Ember. Объясни, как будто мне 5, пожалуйста? Я буквально просто хочу вернуть user object и вызовите свойство на нем.

2 ответов


магазин впрыснут к маршрутам / регуляторам. Внутри маршрута / контроллера вы можете использовать this.store.find('user', 1) чтобы получить модель. Но глобального доступа к магазину нет.

http://jsbin.com/aYIkAcUk/6/edit

если вы чувствуете вину за прикосновение к внутренностям, которые вы должны немного, не читайте дальше.

ради прозрачности, вы можете получить по всему миру. После того, как приложение инициализировано и готово, вы можете использовать внутренности ember, чтобы получить его с помощью метода поиска контейнера. (Если вам нужно знать, когда приложение готово, вы можете использовать приложение ready крюк.

 var store = App.__container__.lookup('store:main');
 var user = store.find('user', 1);

http://jsbin.com/aYIkAcUk/7/edit


начиная с Ember Data 2, хранилище данных теперь обрабатывается как служба. Таким образом, чтобы посмотреть его глобально, утверждение теперь:

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

здесь App - это имя вашего приложения Ember. Ответ Kingpin2k не будет работать с данными Ember 2.