【发布时间】:2014-01-08 09:59:40
【问题描述】:
在这里努力开发我的 Ember 应用程序,一切顺利。但是,我遇到了一个意外行为问题,我不确定解决此问题的最佳方法。
问题在于,在特定路线中,我想将另一条路线渲染到另一个出口。但是,我渲染到另一个出口的另一条路线不保留它自己的模型。
如果我这样做:
App.TestRoute = Ember.Route.extend({
model: function() {
return {
heading: "Test",
testContent: "This is test."
}
}
});
App.IndexRoute = Ember.Route.extend({
renderTemplate: function() {
this.render("test", {
outlet: "left"
});
this.render({
outlet: "right"
});
},
model: function() {
return {
heading: "Index",
indexContent: "This is index."
}
}
});
...并访问IndexRoute,我希望TestRoute 的模型被渲染到TestRoute 的模板中,但只有IndexRoute 的模型被中继到两个模板。
在这里摆弄: http://jsfiddle.net/3TtGD/1/
我如何允许 Ember 使用默认模型进行路由,而不必表达地合并它们?看起来很乏味。
此外,某些模型属性具有相同的名称,例如 {{heading}} 是可取的,但不是必需的。
解决此问题的最佳方法是什么?
感谢您的宝贵时间。
最好的问候, 迪霍特
【问题讨论】:
-
我刚刚看了这个,Ember 建议您为需要不同模型的模板设置不同的控制器,请参阅:[link]emberjs.com/guides/routing/rendering-a-template 通常我会使用商店,使用
setupController,您可以从那里访问记录和控制器 -
这解决了我的问题。谢谢!
标签: ember.js