我无法为CollectionView的ItemViewClass定义控制器。
我有一个带有已定义ItemController的ArrayController和一个带有已定义ItemView的CollectionView。
CollectionView使用正确的ItemView呈现每个Item,但无法将ItemController指定为控制器。
以下是一个例子:
App.IndexRoute = Ember.Route.extend
model: ->
[
Ember.Object.create({name: 'row 1'})
Ember.Object.create({name: 'row 2'})
Ember.Object.create({name: 'row 3'})
]
App.IndexRowController = Em.ObjectController.extend
actions:
test: -> alert "Item Controller"
App.IndexController = Ember.ArrayController.extend
itemController: 'indexRow'
actions:
test: -> alert "Array Controller"
App.IndexView = Ember.CollectionView.extend
contentBinding: 'controller'
itemViewClass: Em.View.extend
templateName: 'row'
### Templates
<script type="text/x-handlebars" id="row">
<button {{action 'test'}}>
{{view.content.name}}
</button>
</script>
在我看来这应该有效吗?有人有主意吗?
这是jsbin
答案 0 :(得分:0)
这很简单。只需将itemViewClass的controller属性绑定到content属性。
App.IndexView = Ember.CollectionView.extend
contentBinding: 'controller'
itemViewClass: Em.View.extend
controllerBinding: 'content'
templateName: 'row'