Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 路由中的多个过渡挂钩_Javascript_Ember.js - Fatal编程技术网

Javascript 路由中的多个过渡挂钩

Javascript 路由中的多个过渡挂钩,javascript,ember.js,Javascript,Ember.js,有没有一种方法可以让多个函数都在路由的DIDTransformation事件中调用 下面是一个示例,其中actions.didTransition正常运行,但“someHook”不正常: 通过使用“.on()”,是否可以运行任意函数 我是否误解了事件在这种情况下的含义 我之所以想这样做,是因为我想做一个mixin,它将被添加到某些路由中,然后在didtransformation之后进行一些常规设置,但是路由也需要进行一些自定义设置。我可以将相同的代码复制粘贴到每个路由的actions.didtr

有没有一种方法可以让多个函数都在路由的DIDTransformation事件中调用

下面是一个示例,其中actions.didTransition正常运行,但“someHook”不正常:

通过使用“.on()”,是否可以运行任意函数

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


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

它不起作用。对('init')有效的方法是
,但这是一种方法而不是事件,请参阅:

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

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();
    }
  }
});

我想在didTransition中对mixin进行单独的函数调用总比没有好。我不喜欢,但如果没有其他选择。。。。