首页 > 解决方案 > 角度和重新运行脚本

问题描述

我有一个需要重新执行 scripts.js 的主题(来做页面的样式)。

我已经尝试将所有 .js 文件放在 angular.json 上(但确实有效)。

因此,我查看了 Lyfecycle 钩子,并查看了我询问 theme.component.ts 的组件,我将导入放在 ngAfterViewInit 中,我的主题就像一个魅力。

import('../../../assets/js/utils/app.js');
import('../../../assets/js/utils/page-loader.js');

当我导航到下一页时,我的主题不再适用于下一个组件(在 theme.component.ts 内)。

考虑到这一点,我在我的路线上创建了一个订阅

this.mySubscription = this.router.events.pipe(filter(event => event instanceof NavigationEnd)).pipe(map(() => this.activatedRoute)).subscribe((event) => {
    import('../../../assets/js/utils/app.js');
    import('../../../assets/js/utils/page-loader.js');
     })

但这也不起作用,因为脚本不会再次运行(可能是缓存?),但订阅工作得很好。

我正在寻找一种解决方案来在每次导航时重新运行我的主题脚本。

我很欣赏一些建议。

标签: javascriptangulartypescriptthemes

解决方案


推荐阅读