Ember.js:如何使用模型的单个实例创建 route/controller
Ember.js: How to create route/controller with single instance of a model
如何找到模型的单个实例并将其分配给路线?
我希望本地存储中的同一个对象成为路由及其控制器运行的模型。
我可以做到,而且我的视图工作正常:
App.ThingRoute = Ember.Route.extend({
model: function () {
return this.store.createRecord("thing", {name: "Foo"});
}
});
但我无法找到如何 return 第一个 'thing' 记录而不是整个集合。我希望是这样的:
return this.store.find("thing").first();
更新(2015-01-28 07:19:00 GMT):我应该明确表示我打算让这个对象只存在于本地存储中。
谢谢
好吧,如果您尝试访问的记录已经加载,您可以使用:
this.store.all('thing').get('firstObject');
获取已加载记录集合的第一个对象。
当您想 return 尚未加载的第一个集合对象时有点棘手:
context = this;
return new Promise(function (resolve, reject) {
context.store.find('thing').then(function (things) {
resolve(things.get('firstObject'));
});
});
如何找到模型的单个实例并将其分配给路线?
我希望本地存储中的同一个对象成为路由及其控制器运行的模型。
我可以做到,而且我的视图工作正常:
App.ThingRoute = Ember.Route.extend({
model: function () {
return this.store.createRecord("thing", {name: "Foo"});
}
});
但我无法找到如何 return 第一个 'thing' 记录而不是整个集合。我希望是这样的:
return this.store.find("thing").first();
更新(2015-01-28 07:19:00 GMT):我应该明确表示我打算让这个对象只存在于本地存储中。
谢谢
好吧,如果您尝试访问的记录已经加载,您可以使用:
this.store.all('thing').get('firstObject');
获取已加载记录集合的第一个对象。
当您想 return 尚未加载的第一个集合对象时有点棘手:
context = this;
return new Promise(function (resolve, reject) {
context.store.find('thing').then(function (things) {
resolve(things.get('firstObject'));
});
});