Ember数据:在控制台中获取模型

nic*_*tme 7 javascript console ember.js ember-data

我在这个JSBin中有最简单的Ember应用程序.我所要做的就是找到一个模型.基于其他SO问题,我尝试了以下内容.

App.User.get('store').find('user', 1);
App.User.Store.find('user', 1);
Run Code Online (Sandbox Code Playgroud)

我已定义App.Store,但在控制台中App.Store返回undefined.我显然错过了Ember模型的绝对最基本的概念.请问我5岁,好吗?我只是想返回一个user对象并在其上调用一个属性.

Kin*_*n2k 12

商店注入路线/控制器.在路线/控制器内部,您可以使用它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);
Run Code Online (Sandbox Code Playgroud)

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

  • 这已经过时了.https://github.com/emberjs/data/blob/master/TRANSITION.md (4认同)

Max*_*ace 9

从Ember Data 2开始,数据存储现在作为服务处理.因此,要在全球范围内查找,声明现在是:

App.__container__.lookup('service:store')
Run Code Online (Sandbox Code Playgroud)

App您的Ember应用程序的名称在哪里.Kingpin2k的答案不适用于Ember Data 2.