在过去的几个月里,我一直在玩 ember.js,最后总是问“控制器扮演什么角色”,因为当我完成时它通常看起来像这样
App.Controller = Ember.Controller.extend({
content: null
});
如果我有任何基本的验证要求,我倾向于在视图本身中执行这些操作。
如果我需要填充控制器内容,我会在路由器中执行此操作(尽管我更愿意减少此对象在当前版本的 ember 中似乎具有的职责数)。
我的模型通过 ember-data 使用单独的适配器进行持久化,并在需要时使用一些类似行为的域逻辑。
在我构建的每个应用程序中,我只剩下一个薄(非常非常少逻辑)控制器,如上所示。我确实发现这是对项目进行排序/分页/搜索/过滤/等的好地方,但是这个控制器对象在设计良好的 ember.js 应用程序中还应该负责什么?