【发布时间】:2013-12-01 20:37:42
【问题描述】:
我使用的是 ember.js 1.2,我的一条路线有一个非常动态的模型。当我第一次跳入路由或粘贴 url 时,路由的模型钩子会触发,然后设置控制器触发并且一切都按预期工作。
当我稍后进入路由时(但不是直接从 url 进入)时会出现问题 - 这只会命中 setupController 钩子(并且模型方法永远不会触发)。但从技术上讲,改变的是 url(和父模型)。而对于这个模型,它主要是从父模型定义的(使用该父模型在运行时获取一组新的动态配置)。
那么,每次加载此特定路由时,如何强制 setupController 重新执行模型挂钩? (好像模型方法每次都在触发)。
或者...我应该在 setupController 中获取这个动态模型,并通过让它返回一个空对象来保持模型钩子逻辑少吗?
更新
App.ChildIndexRoute = Ember.Route.extend(App.ModelMixin, {
setupController: function(controller, model) {
this._super(controller, model);
var parent = this.modelFor('parent');
return this.getForParent(parent).then(function(things) {
controller.set('model', things);
});
}
});
【问题讨论】:
标签: ember.js