我无法再设置具有多个模型哈希的路由。我用来做的是:
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return Ember.RSVP.hash({
products: this.store.findAll('product'),
suppliers: this.store.findAll('supplier')
});
},
setupController(controller, model) {
controller.set('products', model.products);
controller.set('suppliers', model.suppliers);
}
});
当我这样做时,我无法遍历每个{{#each products}}
,但我仍然可以使用{{#each model.products}}
答案 0 :(得分:1)
不推荐使用对象代理,因此您应该引用带有model.
前缀的模型。
执行此操作的正确方法是省略setupController
并将模型用作包含.products
和.suppliers
键的对象。
你仍然需要{{#each model.products as |product|}}
,除非你想在你的控制器中将它们作为别名:
products: Ember.computed.alias("model.products")
我建议您在模板中坚持使用model.products
,以减轻对特定数据来源的混淆。删除它意味着它在路由的model
钩子中获取了与控制器相关的模型数据。
编辑:上述解决方案在Ember 1.13.5中完成,也适用于任何2.x版本。