我知道有几个问题,有人说这些问题对他们有用,但答案都不适用于我,发布答案的海报不会告诉哪个文件放入代码片段在(它可以去的地方有几十个),我不能评论是否可以更具体,因为我没有50个声誉。
我想要运行代码:
this.transitionTo()
)和一个转换。
我需要知道确切地放置代码的位置,文件,位置和方式。
我已经阅读过关于init函数和afterRender挂钩但没有工作,因为答案没有说明放置代码的位置。
答案 0 :(得分:0)
"我已经阅读了关于init函数和afterRender挂钩但没有工作,因为答案没有说明放置代码的位置" - 这将在路线/组件中。如果您希望在渲染每个路径后运行一段代码,则将此代码放在afterRender下的每个路径中。 (你可能有一个帮助函数,以保持代码干燥)
如果你想在转换时没有发生这种情况,你必须让路由知道它是从另一个路由转换进入的,为此你必须在调用this.transitionTo时发送一个参数( )。使用此变量作为标志来运行该段代码。
答案 1 :(得分:0)
我发现didTransition()
是我想要做的。它必须在路线的行动中,如下:
actions:{
didTransition(){
Ember.run.later('afterRender', () => {
// do stuff here
});
}, 500);
return true;
}
}
每次路线转换为此时都会运行。