路由中的多个 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();
}
}
});
有没有办法让多个函数都在路由的 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();
}
}
});