对于路线/仪表板我有间控制器或共享控制器之间共享的对象,DashboardController在DashboardView命名网点 & 2不同。 /仪表板路线看起来像DashProjectsView,ProjectSummaryView应该更新项目(项目)上点击以下Ember.js:彼此
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'
});
}
现在的
connectOutlet。
什么应该是控制器之间共享对象(在这种情况下为项目)的理想方式。
一种做法是在App.currentProject中创建一个共享的全局对象,但它破坏了目的。
我认为,DashboardController要坚持一个对象,并DashProjects和ProjectSummary要访问它。任何指导/指针都是受欢迎的。
感谢您的链接。但是,在哪里应该编写connectController?在connectOutlet中? 例如我有/仪表板和/统计页面,我需要相同的控制器。一种做法是,我在两个路由的connectOutlets上写connect connectController。有没有其他的地方或方式? – Nachiket
我想你可以在应用程序准备就绪时定义App.ready函数。请参阅http://www.lukemelia.com/blog/archives/2012/08/23/architecting-ember-js-apps/ slide 31获取示例 –