Javascript 在angular中的每个页面上加载外部js

Javascript 在angular中的每个页面上加载外部js,javascript,angular,typescript,angular-ui-router,Javascript,Angular,Typescript,Angular Ui Router,我使用以下代码创建一个外部js,并将其集成到每个路由(第页) 但每当路由切换时,我的外部js就会停止工作 我不确定这是否正是原因,但在chrome的事件侦听器中,js的名称从更改为 js的名称更改是否导致此问题?如果是,我应该怎么做才能解决这个问题?你为什么要在HTML页面中添加JS脚本,而不是在TS文件中使用它?也许你可以告诉我们,你到底想通过这种方法实现什么,这会有帮助。这是否回答了你的问题@YounesM如果我通过angular.json脚本数组加载JS文件(如链接中所述),JS在页面加载

我使用以下代码创建一个外部js,并将其集成到每个路由(第页)

但每当路由切换时,我的外部js就会停止工作

我不确定这是否正是原因,但在chrome的事件侦听器中,js的名称从更改为


js的名称更改是否导致此问题?如果是,我应该怎么做才能解决这个问题?

你为什么要在HTML页面中添加JS脚本,而不是在TS文件中使用它?也许你可以告诉我们,你到底想通过这种方法实现什么,这会有帮助。这是否回答了你的问题@YounesM如果我通过angular.json脚本数组加载JS文件(如链接中所述),JS在页面加载后只会工作一次,一旦路径改变,JS就会停止工作(因为angular是SPA)。@JiriKralovec基本上我只有很少的外部JS文件需要在angular项目中使用,因为我在整个项目中都需要它,所以每次路线改变时我都要将它绑定到。如果你有其他方法;请让我知道
if(document.getElementById('mainJs') !=null){
      document.getElementById('mainJs').remove();
    }
    const main = document.createElement('script');
    main.src = '../assets/js/main.js';
    main.type = 'text/javascript';
    main.async = false;
    main.id = "mainJs";
    main.charset = 'utf-8';
    document.getElementsByTagName('head')[0].appendChild(main);