我正在使用 ember.js 和一个用 spring MVC 编写的 rest API 开发一个应用程序。我必须创建一个带有多个小部件的仪表板。每个小部件都作为自己的行为,并将调用不同的 API 方法。我正在考虑为每种小部件设置一个控制器子类。然后将实例化它们并将它们的视图添加到容器视图中。但是 ember 会自动为每个控制器创建一个实例,所以这是一条好路吗?ember.js 社区有什么建议吗?
感谢您的帮助。
我正在使用 ember.js 和一个用 spring MVC 编写的 rest API 开发一个应用程序。我必须创建一个带有多个小部件的仪表板。每个小部件都作为自己的行为,并将调用不同的 API 方法。我正在考虑为每种小部件设置一个控制器子类。然后将实例化它们并将它们的视图添加到容器视图中。但是 ember 会自动为每个控制器创建一个实例,所以这是一条好路吗?ember.js 社区有什么建议吗?
感谢您的帮助。
你的想法听起来不错。
当然有很多方法可以构建它。我可能会建议制作一个 DashboardView 和 DashboardController,并在其模板中,有几个outlets,每个小部件“slot”一个:
{{outlet topWidgetView}}
{{outlet leftWidgetView}}
...
然后在路由器中,在仪表板路由的connectOutlets
方法中,在您实例化仪表板后连接小部件:
router.get('applicationController').connectOutlet('dashboard');
router.get('dashboardController').connectOutlet({
outletName: 'topWidgetView',
name: 'fooWidget'
});
router.get('dashboardController').connectOutlet({
outletName: 'leftWidgetView',
name: 'barWidget'
});
而不是每个小部件的插槽,我宁愿有一个小部件区域(列,...)的插槽,这将是一个ContainerView
,我将根据用户的设置动态添加小部件视图。