我正在尝试构建一个将显示多个模型和聚合数据的 View 。
在阅读文档后, {{render}}
helper 可能是构建这样的 View 的正确方法。为了正常设置模型,我只需设置一个路由,在其中传递所需的模型数据:
App.BuildingsRoute = Ember.Route.extend({
model: function() {
return this.store.find('buildings', '1');
}
});
但是如果我通过
{{render}}
包含一个模板 helper ,路线没有被调用。我想知道如何为每个 {{render}}
传递不同的模型helper 相互独立形成,包括先过滤模型?
最佳答案
以下可能是相关的:
在您的 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有关如何构建和链接这些的更多信息。
然后在您的 View 中,您可以按如下方式访问这些模型:
{{render 'products' products}}
或者
{{#each product in products}}
{{render 'product' product}}
{{/each}}
关于Ember.js 为 {{render}} 助手设置模型数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22281385/