javascript - 如何在 Angular 的每次导航中运行 JS 方法
问题描述
在 Angular 项目中,当我将页面导航到另一个页面时,页面中会出现问题。
我添加的第三个 javascript 库在导航时被破坏。
所以我必须运行这段代码。
declare var MY_LIBRARY: any;// referencing jQuery library
MY_LIBRARY.initAllPlugins();
我必须在每次导航时运行此代码。
页面导航时如何运行此方法?
是否有中间件系统或类似的东西?
解决方案
你可以像这样监听 Route 的变化:
export class SomeComponent {
constructor(private router: Router) {
router.events.subscribe((event: Event) => {
if (event instanceof NavigationStart) {
// do sth.
}
if (event instanceof NavigationEnd) {
// do sth.
}
if (event instanceof NavigationError) {
// do sth.
}
});
}
}
但请记住,在每次导航/路线更改时运行代码(尤其是初始化一些插件)可能会很昂贵,并且会影响应用程序的性能。
推荐阅读
- c# - 我在哪里可以找到 Visual Studio 2017 中的 trackbar winforms 控件?
- netty - 如何使用 h2load 为基于 Netty 的 http2 服务器做基准测试?
- c++ - 密集方阵的大 RAM 要求
- python-2.7 - 使用 pyenv 和 python 2.7.12 导入 cElementTree 失败
- python - 从带有可点击点的地图中抓取数据
- javascript - 在 Angular 2+ 模板中调用匿名函数
- dojo - Aikau Select 没有填满选项
- angular - 如何在 ngx-chart 中将 yOrient 属性设置为正确?
- python - 熊猫类扩展不起作用
- javascript - 在 ExpressJS 中创建一个简单的待办事项列表