Abh*_*tta 3 javascript ruby-on-rails ember.js
我有一个名为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);
}
Run Code Online (Sandbox Code Playgroud)
现在在列表路径中,我有名为veg和non-veg的路由.即list/veg和list/non-veg.如何从list/route.js中访问父路由的控制器变量,即vegItems和nonVegItems到子路由,以加载list/veg/template.hbs和list/non-veg/template.hbs中的数据?
this.controllerFor('list') - 返回当前路由的控制器或路由层次结构中的父(或任何祖先)路由.您可以通过get方法获得所有属性.
this.modelFor('list') - 返回路由层次结构中父(或任何祖先)路由的已解析模型.
list:Ember.inject.controller() - 创建一个懒惰地查找容器中另一个控制器的属性.您只能在控制器中注入它.
参考:
https://emberjs.com/api/ember/2.14/classes/Ember.Route/methods/controllerFor?anchor=controllerFor
https://emberjs.com/api/ember/2.14/classes/Ember.Route/methods/controllerFor?anchor=modelFor
https://www.emberjs.com/api/ember/2.14/namespaces/Ember.inject/methods/controller?anchor=controller
| 归档时间: |
|
| 查看次数: |
3291 次 |
| 最近记录: |