我是 ember 新手,遇到了问题,无法在线找到答案。
我有一个collectionView
App.MyView = Ember.CollectionView.extend({
itemViewClass: 'App.MyViewItem',
contentBinding: 'controller'
});
和 itemViewClass
App.MyViewItem = Ember.View.extend({
templateName: 'mytemplate'
});
模板如下所示:
<div {{action 'select' view.content}}>{{view.content.name}}</div>
{{outlet detail}}
</div>
这会产生内容列表就好了。
在控制器中,我有一个动作:
select: function(evt){
this.transitionToRoute('item', evt);
}
我想要做的是在选择项目时转换到嵌套路由(工作正常),并将所选项目的更多数据加载到 {{outlet detail}} 中。虽然我可以将“item”路由的内容加载到例如application.hbs 的出口中,但我不知道如何引用所选collectionView 项目的出口,以便在现有视图中显示详细内容。
我尝试使用:
this.render('item', {
outlet: 'detail',
into: '????'
});
在项目路线中,但我不知道如何引用collectionview项目模板。
也许还有一种更简单的方法可以从项目视图中的项目加载更多数据(同时更改路线)。任何帮助,将不胜感激。