我正在尝试构建一个将显示多个模型和聚合数据的视图。
在对文档进行一些阅读之后,{{render}}
助手可能是构建这样的视图的正确方法。为了正常设置模型,我只需设置一个Route,在其中传递所需的模型数据:
App.BuildingsRoute = Ember.Route.extend({
model: function() {
return this.store.find('buildings', '1');
}
});
但是如果我通过{{render}}
帮助器包含模板,则不会调用该路由。我想知道如何为每个{{render}}
助手独立地传递不同的模型,包括首先过滤模型?
答案 0 :(得分:3)
以下内容可能相关:
在您的BuildingsRoute中,您可以拥有所有必需的逻辑来返回所有相关模型,例如:
App.BuildingsRoute = Ember.Route.extend({
model: function() {
var self = this;
return new Em.RSVP.Promise(function (resolve, reject) {
new Em.RSVP.hash({
building: self.store.find('building', params.buildingId),
clients: self.store.find('client'),
products: self.store.find('product')
}).then(function (results) {
resolve({
building: results.building,
prods: results.broducts,
clients: results.clients,
foo: "bar"
});
});
}
});
有关如何构建和链接这些内容的详细信息,请参阅promises。
然后在您的视图中,您可以按如下方式访问这些模型:
{{render 'products' products}}
或
{{#each product in products}}
{{render 'product' product}}
{{/each}}