Em.CollectionView的项目控制器

时间:2013-11-19 10:23:51

标签: ember.js

我正在尝试使用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 如何正确设置项目控制器?

2 个答案:

答案 0 :(得分:2)

如果您使用:

{{each controller itemView="color"}}

而不是:

{{view Ember.CollectionView content=controller itemViewClass="color"}}

会奏效。

http://emberjs.jsbin.com/aZiciYOc/8/edit

答案 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>

差异在第二行