私は似たようなものを実行しているので、いくつかの考え:
ここに 2 つのレイアウト列があります。
Left Col : Controller が関連付けられた TreeNavView です。#/contacts (および #/contacts/) を入力すると選択されます
Right Col : Controller が関連付けられた ContactsView。ビューは、入力コントロールなどの小さなビュー アトムから組み立てることができます。
コントローラーに関する特記事項: 私の経験では、Ember では多かれ少なかれ、コントローラーとビューの間に 1:1 の関係を持たせる必要があります。そのため、コントローラーを共有することは悪いことであり、管理が困難です。
アプリケーション ビューには HTML/CSS レイアウトが含まれ、両方の列に 2 つのアウトレットがあります。
対応するビューをアウトレットにレンダリングする方法は? 左の列については、次のようにアプリケーション ビュー テンプレートからビューを直接「呼び出し」ます。
{{view App.TreeNav}}
対応するルーターマッピングを介して埋める「右アウトレット」:
this.route('contacts', {path: '/contacts'});
およびルート:
IB.ContactsRoute = Em.Route.extend({
renderTemplate: function() {
this._super();
this.render('contacts', {into: 'application', outlet: 'secondCol'});
}
});