Javascript 如何在angular中重新加载index.html的head标记中的脚本?

Javascript 如何在angular中重新加载index.html的head标记中的脚本?,javascript,angular,typescript,Javascript,Angular,Typescript,我正在寻找这么多的解决方案,但我找不到一个 我已经在index.html中的head标记中编写了一些脚本(在上面,我也尝试过)。我已经编写了$(文档)。准备好了它里面的函数 当服务器启动时,脚本将工作。但是,在刷新页面之前,当我从另一个组件返回到使用脚本的组件时,脚本将无法工作 所以我的问题是如何刷新index.html?。 如果我这样做,整个应用程序就会刷新。如何预防? 有什么不同的方法可以一次又一次地重用我的脚本代码吗? 请给我一个解决方案 我尝试在index.html中导入一个外部js文件

我正在寻找这么多的解决方案,但我找不到一个

我已经在
index.html
中的
head
标记中编写了一些脚本(在
上面,我也尝试过)。我已经编写了
$(文档)。准备好了它里面的
函数

当服务器启动时,脚本将工作。但是,在刷新页面之前,当我从另一个组件返回到使用脚本的组件时,脚本将无法工作

所以我的问题是如何刷新
index.html
?。 如果我这样做,整个应用程序就会刷新。如何预防? 有什么不同的方法可以一次又一次地重用我的脚本代码吗? 请给我一个解决方案

我尝试在
index.html
中导入一个外部
js
文件。该时间函数将不会被调用。 我尝试在
AfterViewInit
lifecyclehook中编写
js
code。这也不起作用。

我希望您知道$(document).ready是如何工作的。文档准备好后将调用它,这在加载/刷新/重新加载页面时发生

现在问题来了,剧本到底在做什么?如果它设置了一些全局范围,那么您应该抽象出服务中的逻辑,并在您想要使用的每个组件中调用它。确保在加载组件之前初始化/调用脚本/逻辑

export class DataService {

  constructor() { }

  myData() {
    return 'This is my data!';
  }

}

export class AppComponent {

  constructor(private dataService:DataService) {

  }

  ngOnInit() {
    this.dataService.myData();
  }

}
或者,如果它像后台线程一样一直在后台运行,那么您可以在AppComponent/ContainerComponent中使用setInterval api,它将一直在后台运行。这样,您的脚本将始终处于上下文中

ngOnInit() {
  this.id = setInterval(() => {
    this.Init(); 
  }, 1000);
}
我建议您分享您的问题陈述,这样人们就更容易提供适当的解决方案。

我希望您知道$(document).ready是如何工作的。文档准备好后将调用它,这在加载/刷新/重新加载页面时发生

现在问题来了,剧本到底在做什么?如果它设置了一些全局范围,那么您应该抽象出服务中的逻辑,并在您想要使用的每个组件中调用它。确保在加载组件之前初始化/调用脚本/逻辑

export class DataService {

  constructor() { }

  myData() {
    return 'This is my data!';
  }

}

export class AppComponent {

  constructor(private dataService:DataService) {

  }

  ngOnInit() {
    this.dataService.myData();
  }

}
或者,如果它像后台线程一样一直在后台运行,那么您可以在AppComponent/ContainerComponent中使用setInterval api,它将一直在后台运行。这样,您的脚本将始终处于上下文中

ngOnInit() {
  this.id = setInterval(() => {
    this.Init(); 
  }, 1000);
}

我建议你分享你的问题陈述,人们提供适当的解决方案将更容易。

根据我的说法,您也可以加载脚本文件使用服务,您可以编写相同的代码,在同一事件上加载服务中的脚本文件,并且您可以在需要时触发刷新页面将使SPA类服务的使用无效。也许你应该改变你的逻辑,比如把它移到服务上。根据我的说法,你也可以加载脚本文件使用服务,你可以在同一事件上为加载服务中的脚本文件编写相同的代码,你可以在你想要刷新页面时触发,这样会使SPA的使用无效。也许你应该改变你的逻辑,比如把它转移到服务上。