使用激活策略的性能影响无处不在



在我的Aurelia应用程序中,始终对所有虚拟机使用activationStrategy: replace是有意义的,因为我有第三方幻灯片等,在切换视图时需要重新初始化。

从一条路线导航到另一条路线时,无论如何都会使用replace,但在极少数情况下,当我导航到同一路线(使用新数据)时,我更喜欢整个 VM 再次运行。

所以我的问题是;这真的对性能不利吗?或者我可以安全地将所有路线设置为replace并睡个好觉吗?:)

奖励问题:有没有办法设置默认activationStrategy,这样我就不必记住在我创建的每条路由上设置它?

始终使用 replace 肯定会存在一些性能问题,因为框架必须经历整个组件周期。这取决于具体情况,所以我认为你必须衡量才能看到影响。

至于指定一次activationStrategy,您可以使用determineActivationStrategy方法声明一个类,如文档中所示,然后让所有 VM 继承/扩展此基类。

最新更新