【发布时间】:2016-11-03 06:40:01
【问题描述】:
我有一个名为 list 的主路由。
//items/list/route.js
setupController(controller, items) {
let vegItems = Ember.A([]);
let nonVegItems = Ember.A([]);
items.forEach((item) => {
if (item.get('category') === "veg") {
vegItems.pushObject(item);
}
if (item.get('category') === "non_veg") {
nonVegItems.pushObject(item);
}
})
controller.set('vegItems', vegItems)
controller.set('nonVegItems', nonVegItems);
}
现在在列表路由中,我有名为 veg 和 non-veg 的路由。即列表/蔬菜和列表/非蔬菜。如何访问父路由的控制器变量,即从 list/route.js 到子路由的 vegItems 和 nonVegItems 以加载 list/veg/template 中的数据。 hbs 和 list/non-veg/template.hbs?
【问题讨论】:
-
为什么这个
setupController甚至是必要的? -
好吧@locks 我实际上想创建我需要在该路由中访问的变量。所以我认为设置控制器变量是一种方式。
-
嗯,我明白了。通过
model()钩子发送它们通常不太容易出错。
标签: javascript ruby-on-rails ember.js