我正在将余烬与Pace加载功能一起使用。

节奏:http://github.hubspot.com/pace/docs/welcome/

在我的代码中,我会在每条路线中重复此操作,以便出现加载栏:

App.IndexRoute = Ember.Route.extend({
  activate: function() {
    this._super();
    return Pace.restart();
  },
  deactivate: function() {
    this._super();
    return Pace.stop();
  }
});

App.AboutRoute = Ember.Route.extend({
    activate: function() {
    this._super();
    return Pace.restart();
  },
  deactivate: function() {
    this._super();
    return Pace.stop();
  }
});


有没有一种方法可以不重复每条路线中的代码?谢谢!

最佳答案

您可以通过执行以下操作覆盖所有路线:

Ember.Route.reopen({
  activatePace: function() {
    return Pace.restart();
  }.on('activate'),
  deactivatePace: function() {
    return Pace.stop();
  }.on('deactivate')
});


另外,这不会干扰现有的activate/deactivate挂钩,因此您不必调用this._super()

请参阅有关重新打开here的文档

关于javascript - 步调和 Ember ,如何在不重复代码的情况下使其在所有路线上都能正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27908232/

10-09 22:16