从集合视图模板对阵列控制器执行操作

时间:2013-01-16 21:34:53

标签: ember.js

  • 我有一个带有addField和deleteField方法的personArrayController
  • 我有一个PersonCollectionView类(继承自CollectionView)
  • HandleBars正在进行连接:
    {{view PersonCollectionView contentBinding =“personArrayController”}}
  • 我需要在collectionView的每个视图中都有一个按钮,以允许删除所选元素。

子视图模板需要从personArrayController调用deleteField。使用目标,否则将触发路由器。

正确显示视图,但是当我点击“删除”按钮时,找不到目标(未触发personArrayController)。

如何从模板视图访问personArrayController?
我认为这个控制器可以通过target =“view.content”访问...但似乎逻辑“view.content”是当前数组元素而不是arrayController ...

App.PersonCollectionView=Ember.CollectionView.extends({
itemViewClass: Ember.View.extend({
    template: Ember.Handlebars.compile(<button {{action deleteField view.content target="view.content"}});
  })
})

1 个答案:

答案 0 :(得分:1)

您可以将“controller”指定为目标:

App.PersonCollectionView=Ember.CollectionView.extends({
itemViewClass: Ember.View.extend({
    template: Ember.Handlebars.compile(<button {{action deleteField view.content target="controller"}});
  })
})