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的使用无效。也许你应该改变你的逻辑,比如把它转移到服务上。