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);
начиная с Ember Data 2, хранилище данных теперь обрабатывается как служба. Таким образом, чтобы посмотреть его глобально, утверждение теперь:
App.__container__.lookup('service:store')
здесь App
- это имя вашего приложения Ember. Ответ Kingpin2k не будет работать с данными Ember 2.