我在这里绕圈,尝试将所有组件拉到一起以产生所需的视图。我觉得好像我只需要调整表盘就可以把所有的焦点都集中在一起,但是现在它就包括我在内。ember.js:使用路径,模板和插座来渲染模型数据
我有两个模型 - 人员和地址 - 我已经创建了两个模板;然后我想在另一个“主”模板中渲染这两个模板。目前我还没有将它们连接起来(最终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'});
}
});
返回的错误是“出口(人)被指定但未找到”;和“#each循环的值必须是数组..”。我可以看到,我可能需要为地址和人员的控制器做些事情,但我不知道是什么。事实是,我已经陷入了这样的混乱状态,我现在甚至无法获得最初的成功版本(地址或人员显示在他们自己的模板中)。
我做了以下小提琴http://jsfiddle.net/4gQYs/4/。请把我带入焦点!
谢谢你。不过,我仍然没有任何喜悦。我已经使用你的代码转换我的代码来生成这个[小提琴](http://jsfiddle.net/zXJc5/11/)。唯一不同的是我使用Ember数据模型而不是一个烬数组。结果是我得到一个空白的回看,但没有错误。你能看到我要去哪里吗? – user2192333
你能否检查这[[小提琴](http://jsfiddle.net/zXJc5/14/) – seenivasan
啊哈...这是有效的,谢谢。你能告诉我我是否理解逻辑? Ember加载应用程序并首先查找IndexRoute(尽管我认为它是ApplicationRoute或者它是否都查找了这两个?)。 'redirect:function()this.transitionTo('people');}'告诉ember切换到人员路由;它将加载两个模型并使用这两个模板呈现到应用程序(默认)模板中。另一件令我不舒服的事情是通过设置PlaceController通过peopleRoute加载位置:它看起来有点拼凑,你不觉得吗? – user2192333