我在这里绕圈子,试图将所有组件拉在一起以产生所需的视图。我觉得好像我只需要调整表盘即可将其全部聚焦,但此刻它暗示了我。
我有两个模型——Person 和 Address——我为它们创建了两个模板;然后我想在另一个“主”模板中呈现这两个模板。目前我没有以任何方式链接它们(最终 1 个人将有许多嵌套地址),因为我想先了解一般原则。
这两个模板使用 App.Router.map 单独工作
this.resource('listOfPeopleTemplate', { path: '/' });
或者
this.resource('listOfAddressesTemplate', { path: '/' });
但不是在一起,或者当我添加 mainViewTemplate 并尝试将两者都添加到其中时:
App.Router.map(function () {
//this.resource('listOfAddressesTemplate', { path: '/' });
//this.resource('listOfPeopleTemplate', { path: '/' });
this.resource('mainViewTemplate', { path: '/' });
});
问题似乎集中在:
App.MainViewTemplateRoute = Ember.Route.extend({
renderTemplate: function() {
this.render('listOfPeopleTemplate', {into: 'mainViewTemplate', outlet: 'peops'});
this.render('listOfAddressesTemplate', {into: 'mainViewTemplate', outlet: 'address'});
}
});
返回的错误是“outlet (people) is specified but not found”;和“#each 循环的值必须是一个数组......”。我可以看到我可能需要对地址和人员的控制器做一些事情,但我不知道是什么。事实是,我让自己陷入了如此混乱,我现在甚至无法让最初成功的版本正常工作(地址或人员显示在他们自己的模板中)。
我做了以下小提琴http://jsfiddle.net/4gQYs/4/。请让我集中注意力!