在我的Aurelia应用程序中,始终对所有虚拟机使用activationStrategy: replace
是有意义的,因为我有第三方幻灯片等,在切换视图时需要重新初始化。
从一条路线导航到另一条路线时,无论如何都会使用replace
,但在极少数情况下,当我导航到同一路线(使用新数据)时,我更喜欢整个 VM 再次运行。
所以我的问题是;这真的对性能不利吗?或者我可以安全地将所有路线设置为replace
并睡个好觉吗?:)
奖励问题:有没有办法设置默认activationStrategy
,这样我就不必记住在我创建的每条路由上设置它?
始终使用 replace
肯定会存在一些性能问题,因为框架必须经历整个组件周期。这取决于具体情况,所以我认为你必须衡量才能看到影响。
至于指定一次activationStrategy
,您可以使用determineActivationStrategy
方法声明一个类,如文档中所示,然后让所有 VM 继承/扩展此基类。