Action
Emberモデルに対応するオブジェクトのリストがあるとします。それぞれにいくつかのプロパティ(タイムスタンプ)とdetail
属性があり、再帰的にさらに多くのsを含めることができますdetail
(任意に深いネスト)。詳細はネストされたリストと考えることができます。
detail
任意のオブジェクトのを簡単に編集(値のオートコンプリート、簡単なコピーと貼り付け、要素の並べ替えなど)できるUIを作成したいと思いAction
ます。
今のところ、私のDetailView
テンプレートは再帰的に追加のsをレンダリングしますDetailView
:
{{#if view.content.hasChildren}}
{{#each child in view.content.children}}
{{#DetailView contentBinding=child}}
{{/each}}
{{#else}}
{{#EditDetailView contentBinding=view.content.value}}
{{/if}}
したがって、それぞれDetailsView
が詳細オブジェクトツリーのノードに対応します。
しかし、コントローラーをミックスに追加する方法がわかりません。保存する必要のある追加の状態/実装する機能があります(たとえば、DetailsViewに表示するためにDetailオブジェクトから値を変換する、要素を挿入/削除/並べ替えるためのイベントを処理する、モデルにもビューにも属さない詳細ツリーの構造の変更)。
理想的には、 1人あたりDetailsController
のプロキシとして機能します。コントローラを動的にインスタンス化し、ビューテンプレート内でそのコンテンツを設定できますか?新しいEmberルーターについての私の理解は、特定のルートにコントローラーとアウトレットをセットアップすることです。ただし、ルーティングがまったく行われていないため、ここでは当てはまらないようです。再帰的なコントローラー/ビュー/ルートの処理方法に関するすべての提案/洞察を歓迎します。Details
DetailsView
EmberJSのネストされたビューとコントローラーを確認しましたが、これはArrayController
、すべてDetail
のsに対して単一であると提案していAction
ます。これは、ネストされた詳細のツリー構造も保持しません。
Ember 0.9.6にアップグレードした後、ハンドルバーテンプレートの再帰ビューが機能しないことも確認しましたが、ソリューションはコントローラーについて何も述べていません。