私が達成したいこと:ビューでコントローラーを作成し、このビューに「ギャラリー」オブジェクトのリストがあります。各アイテムには独自のビューとコントローラーがあります。
すべてのファイルはこちら: https://gist.github.com/7e72bb2f532c171b1bf3
一部のテキストを表示/非表示にすると、意図したとおりに機能しますが、個人的には、これはあまり良い解決策ではないと思います。
{{collection}} ヘルパーを使用する必要があると思いますが、ember.js ページにはドキュメントがありません (コードにはいくつかありますが、このヘルパーが少し古くなっているかどうかはわかりません。ソースには、「// TODO: このモジュールのすべてを必要としないでください」と書かれています)。
itemController プロパティを使用しようとしましたが、まだ 1 つのファイルにテンプレートがあります。
また、{{#each}} で {{render}} ヘルパーを使用しようとしましたが、エラーが発生しました。
それで、私が望むものを達成するためのより良い/よりクリーンな方法はありますか?
編集
Michael Grassotti が提供する説明のようにすべてを作成した後、奇妙な動作が発生しました。テンプレートへのプロパティは itemController から取得されますが、{{action}} ヘルパーは親コントローラーにバインドされます。私が扱っているものを示すためにスクリーンショットを作成しました。
基本的に、itemView の「this」は右のコントローラー (itemController) を指しますが、ターゲット プロパティには親コントローラーがあります。
作成{{action "deleteGallery" this target="this"}}
してクリックすると、スクリーンショットのようにエラーが発生します。現時点では、アイデアが不足しています...
EDIT2:
わかりました、考えすぎです。itemController は計算されたプロパティを定義するためのものであり、{{action}} ハンドラーを記述するためのものではありません。
EDIT3: itemController とイベント ターゲットに関する問題は修正されると思います。 https://github.com/emberjs/ember.js/issues/1846