Ember.js - 有没有方便的方法在每条路线中加入Mixin?

时间:2013-06-13 15:32:03

标签: ember.js

我想做这样的事情:

  App.EveryRouteMixin = Ember.Mixin.create({
    enter: function() {
      /* do something */
      this._super();
    }
  });

这可能吗?我正在使用Ember 1.0.0 RC3

1 个答案:

答案 0 :(得分:4)

最方便的是修改Ember.Route,例如:

Ember.Route。

一般来说,最好避免像这样修改内置的ember类。另一种方法是使用特定于应用程序的基类。在定义对象时使用这些基类,以便有一个进行全局更改的好地方。如下所示:

App.Route = Ember.Route.extend({});

App.Route.reopen({
  enter: function() {
    console.log('App.Route.enter()', this.toString());
    return this._super();
  }
});

App.IndexRoute = App.Route.extend({
  //Index route code here
}) 

App.PostsRoute = App.Route.extend({
  //Post route code here
}) 
相关问题