Aurelia路由到同一模块ID
嗨,我在Gitter上问过这个问题,但希望这里的人能帮上忙Aurelia路由到同一模块ID,aurelia,Aurelia,嗨,我在Gitter上问过这个问题,但希望这里的人能帮上忙 我有两条不同的路线,它们有相同的模块ID。我还使用一些数据在路由中设置了一个设置对象,以区分渲染的内容。当我从其他地方导航到这些路由中的一条时,一切正常,但是如果我从一条导航到另一条,则不会触发构造函数或激活。我遗漏了什么吗???找到了答案:)虽然不是现成的完整解决方案,但实现是可能的我遇到了这个问题,花了一段时间才找到解决方案-我希望这会对您有所帮助 您需要将determinateActivationStrategy()方法添加到类中
我有两条不同的路线,它们有相同的模块ID。我还使用一些数据在路由中设置了一个设置对象,以区分渲染的内容。当我从其他地方导航到这些路由中的一条时,一切正常,但是如果我从一条导航到另一条,则不会触发构造函数或激活。我遗漏了什么吗???找到了答案:)虽然不是现成的完整解决方案,但实现是可能的我遇到了这个问题,花了一段时间才找到解决方案-我希望这会对您有所帮助 您需要将
determinateActivationStrategy()
方法添加到类中,然后按如下方式返回
import {activationStrategy} from "aurelia-router";
export class ExampleViewModel {
determineActivationStrategy() {
return activationStrategy.replace;
}
}
这将迫使VM在从自身路由到它时被替换
下面是关于不同激活策略类型的更多信息
激活策略。无更改
–重用实例,无生命周期事件
activationStrategy.invokeLifecycle
–每次路由切换时调用ViewModel实例上的生命周期方法
activationStrategy.replace
–构造ViewModel的新实例并在其上调用完整生命周期
取自此处这是以下内容的副本: