11

示例 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?

4

1 回答 1

27

我只是将常用动作actions放在 mixin 的散列中,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
  }
});
于 2014-05-15T16:20:16.207 回答