javascript - 角度和重新运行脚本
问题描述
我有一个需要重新执行 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');
})
但这也不起作用,因为脚本不会再次运行(可能是缓存?),但订阅工作得很好。
我正在寻找一种解决方案来在每次导航时重新运行我的主题脚本。
我很欣赏一些建议。
解决方案
推荐阅读
- javascript - 为什么表达式与花括号一起打印?
- reactjs - 如何在反应路由器 4 中替换路由和刷新?
- java - 允许 Apache 的 FreeMarker 模板引擎从外部资源文件夹加载模板
- android - 如何通知我的应用关于服务器上新的可用资源下载?
- java - 使用 lambda 表达式时无法解析方法“split(java.lang.String)”
- crystal-reports - 如何在 Crystal Reports 上添加子组
- logstash - Fluend中带有时间戳的自定义logstash索引
- c - 有没有办法将 stderr 重定向到在 bash、csh 和 dash 中工作的文件?
- selenium - 如何使用 Kantu Selenium IDE 获取整个元素?
- cors - quarkus:被 CORS 策略阻止