【发布时间】:2017-01-23 04:21:38
【问题描述】:
我有一个嵌套路由(见下文)。
this.route('home', {
path: '/'
}, function() {
this.route('foo', {
path: '/foo'
});
this.route('bar', {
path: '/bar'
});
});
foo 路由模型返回一个集合(数组)。
在父路由home 中,我定义了一个名为reloadModel 的函数。
我尝试从控制器重新加载模型但失败(产生未定义的函数错误,controller.get(...).refresh is not a function 或 controller.get(...).reload is not a function)。
reloadModel() {
const controller = this.controllerFor('home/a');
controller.get('model').reload();
},
我想从父路由重新加载子路由的模型;但是,我现在知道我可以获得子路由吗?
我的问题
我如何在路由foo 或bar 从路由home 中refresh 建模?
感谢任何提示。
【问题讨论】:
-
您的错误
get、controllerFor或reload中未定义哪个函数? -
我已经更新了这个问题。这是因为我从控制器中检索到的
model只是一个普通对象吗? -
这肯定会导致问题,因为只有 Ember Data 模型有
reload方法。
标签: javascript ember.js