我有一个主要使用 jquery 用 javascript 编写的应用程序。它很丑陋,难以维护并且迫切需要一个框架,所以我将它移植到 Angular 2 中使用
我已经使用两条路线设置了我的 Angular 2 应用程序:
路由 A:包含一个带有 WebGL Canvas 的组件 Route B:包含显示其他数据的组件
根据用户机器的不同,webgl 组件的初始化可能需要相当长的时间。
当用户从Route A导航到Route B,然后再次返回Route A时,Angular 2 正在重新创建和重新- 初始化 WebGL 组件...我想按原样重用该组件以避免这种情况。
在 jquery 中,我只是在 Canvas 上使用了隐藏和显示。
我的问题非常类似于:
Angular 2 keep route alive even when not navigated to it
然而,使用 CanReuse 的解决方案似乎无效,如下所示:
routerCanReuse and routerOnReuse is not called when route changes
因为它旨在处理进出相同类型组件的路由。
最佳答案
通过覆盖 RouteReuseStrategy 可以在路由期间保持组件事件。
感谢这篇精彩的帖子 Angular 2 Component Reuse Strategy
关于javascript - 在 Angular 2 中路由期间保持组件事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37312493/