1

我想做这样的事情:

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

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

4

1 回答 1

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
}) 
于 2013-06-13T17:37:02.313 回答