1
  • 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"}});
  })
})
4

1 に答える 1

1

「コントローラー」をターゲットとして指定できます。

App.PersonCollectionView=Ember.CollectionView.extends({
itemViewClass: Ember.View.extend({
    template: Ember.Handlebars.compile(<button {{action deleteField view.content target="controller"}});
  })
})
于 2013-01-16T21:44:13.017 に答える