示例jsbin:http://jsbin.com/ICoLOgO/4/edit
如果我有一个提供动作的mixin,那么使用ember 1.0-rc.5可以在没有警告的情况下调用该动作。升级到ember 1.0 final会导致弃用警告显示:
Action handlers implemented directly on controllers are deprecated in favor of action handlers on an `actions` object
是否有更简单的方法在动作地图中公开各个动作而无需使用function.apply?
答案 0 :(得分:27)
我只是将常见操作放在mixin上的actions
哈希中,而Ember负责将操作哈希与任何扩展mixin的控制器正确合并。
App.PaginatedListController = Ember.Mixin.create({
queryParams: ['page'],
page: 0,
actions: {
nextPage: function() {
this.incrementProperty('page');
},
previousPage: function() {
this.decrementProperty('page');
},
}
});
App.PostsController = Ember.ArrayController.extend(App.PaginatedListController, {
actions: {
// controller specific actions here
}
});