我正在尝试使用Em.CollectionView
来呈现ArrayController
。 'itemView'用于呈现每个项目的问题具有奇怪的渲染上下文(我希望该项目将用作上下文)。但事实并非如此。
这是我的模板。 索引模板:
{{view Ember.CollectionView content=controller itemViewClass="color"}}
颜色模板:
<b>content:</b>{{content}} </br>
<b>this:</b>{{this}} </br></br>
这是模型路由器和控制器:
App.IndexRoute = Ember.Route.extend({
model: function() {
return ['red', 'yellow', 'blue'];
}
});
App.IndexController = Ember.ArrayController.extend({
itemController: 'color'
});
结果是:
content:red,yellow,blue this:<App.IndexController:ember209>
content:red,yellow,blue this:<App.IndexController:ember209>
content:red,yellow,blue this:<App.IndexController:ember209>
完整示例 - http://emberjs.jsbin.com/aZiciYOc/4/edit 如何正确设置项目控制器?
答案 0 :(得分:2)
如果您使用:
{{each controller itemView="color"}}
而不是:
{{view Ember.CollectionView content=controller itemViewClass="color"}}
会奏效。
答案 1 :(得分:0)
试试这个:
<script type="text/x-handlebars" data-template-name="color">
<b>content:</b>{{view.content.model}} </br>
<b>this:</b>{{this}} </br></br>
</script>
差异在第二行