私が持っているルート/dashboardの場合、 DashboardControllerと DashboardView の 2 つの異なる名前付きアウトレットがあります。
/dashboard ルートのconnectOutletは次のようになります
connectOutlets: function(router) {
var appController = router.get('applicationController');
appController.connectOutlet('dashboard', {});
var dashboardController = router.get('dashboardController');
dashboardController.connectOutlet({
name: 'dashProjects',
outletName: 'dashProjects',
context: App.Project.find()
});
dashboardController.connectOutlet({
name: 'projectSummary',
outletName: 'projectSummary'
});
}
DashProjectsViewの項目 ( Project ) をクリックすると、ProjectSummaryViewが更新されます。
コントローラー間でオブジェクト (この場合はProject )を共有する理想的な方法は何ですか。
1 つの方法は、 App.currentProjectで共有グローバル オブジェクトを作成することですが、目的に反します。
DashboardControllerはオブジェクトを保持し、DashProjectsとProjectSummaryはそれにアクセスする必要があると思います。ガイダンス/ポインタは大歓迎です。