路由中的多个 didTransition 挂钩

Multiple didTransition hooks in route

有没有办法让多个函数都在路由的 didTransition 事件上调用?

这是一个示例,其中 actions.didTransition 通常是 运行,但 "someHook" 不是:http://emberjs.jsbin.com/hedebigedi/1/edit?html,js,console,output

运行宁任意函数甚至应该通过使用“.on()”成为可能吗?

在这种情况下,我是否误解了事件的含义?

我想这样做的原因是因为我想制作一个 mixin,它将被添加到某些路由中,然后在 didTransition 之后进行一些常规设置,但路由也需要进行一些自定义设置.我可以将相同的代码复制粘贴到每条路线的 actions.didTransition 中,但我宁愿只将它放在一个地方。

没用。什么是 on('init'),但这是一种方法而不是事件,请参阅:http://emberjs.com/api/classes/Ember.Route.html

要解决您的问题,请执行以下操作:

import CleverMixin from 'path/to/mixin';
import AnotherMixin from 'path/to/mixin';    

App.IndexRoute = Ember.Route.extend(CleverMixin, AnotherMixin, {

  model: function() {
    return ['red', 'yellow', 'blue'];
  },

  actions: {
    didTransition: function () {
      // This function will be provided by a mixin
      this.setupStuff();
      // This function will be provided by another mixin
      this.doMoreStuff();
    }
  }
});