Javascript 如何将脚本标记嵌入到角度组件中

Javascript 如何将脚本标记嵌入到角度组件中,javascript,html,angular,typescript,embed,Javascript,Html,Angular,Typescript,Embed,我有一个Angular/Typescript网站。我需要嵌入一个第三方脚本。脚本生成一个表 如何在home.component.html中显示该表。不是在开始的时候,也不是在开始的时候。像这样 我已经能够嵌入脚本,但它看起来不像脚本正在渲染,所以它只在源代码中显示它,而不渲染表 更新 现在可以呈现该表,但只能在app root之外。它应该在home.component.html中 home.component.ts 从'@angular/core'导入{Component,OnInit,Aft

我有一个Angular/Typescript网站。我需要嵌入一个第三方脚本。脚本生成一个表

如何在home.component.html中显示该表。不是在开始的时候,也不是在开始的时候。像这样

我已经能够嵌入脚本,但它看起来不像脚本正在渲染,所以它只在源代码中显示它,而不渲染表

更新

现在可以呈现该表,但只能在app root之外。它应该在home.component.html中

home.component.ts

从'@angular/core'导入{Component,OnInit,AfterViewInit};
从“@angular/common”导入{DOCUMENT}
声明var myExtObject:any;
@组成部分({
选择器:“应用程序职业”,
templateUrl:“./careers.component.html”,
样式URL:['./careers.component.scss']
})
导出类CareerComponent实现OnInit{
私人生活:有吗
恩戈尼尼特(){
}
ngAfterViewInit(){
this.iLife=myExtObject()
}

}
不要手动插入脚本标记。在
scripts
部分的
angular.json
中导入库:

"scripts": [
  "./node_modules/yourtablelibrary/build/yourtablelibrary.min.js"
]

参考:

不要手动插入脚本标记。在
scripts
部分的
angular.json
中导入库:

"scripts": [
  "./node_modules/yourtablelibrary/build/yourtablelibrary.min.js"
]

参考:

加载页面时执行所有脚本,加载页面后添加到dom中的
标记不会执行

因此,嵌入脚本标记不会加载文件的内容,也不会重新加载页面

解决方案是让组件实现
AfterInit
接口,并在
ngAfterInit
方法中动态导入脚本,如下所示

ngAfterInit() {
   import('./myfile.js')
  }

假设要加载的脚本是myfile.js,并且是相同的目录

加载页面时执行所有脚本,则不会执行加载页面后添加到dom中的标记

因此,嵌入脚本标记不会加载文件的内容,也不会重新加载页面

解决方案是让组件实现
AfterInit
接口,并在
ngAfterInit
方法中动态导入脚本,如下所示

ngAfterInit() {
   import('./myfile.js')
  }

假设要加载的脚本是myfile.js,并且是相同的目录

该脚本如何工作?您必须从中调用方法吗?它是否期望数据已经存在?脚本是如何工作的?您必须从中调用方法吗?它是否期望数据已经存在?对,我如何定位一个div来显示内容?更具体地说,你想实现什么我希望在external.js中实现如上所示的iLife,在AfterInit上实例化,并在给定div中的我的角度组件中显示生成的表。我可以生成并显示表,但只能在外部,即使它已在home.component.ts ngAfterInit()内实例化。谢谢你的帮助。好的,我该如何定位一个div来显示内容?更具体地说,你想实现什么我希望在external.js中拥有如上所示的iLife,在AfterInit上实例化,并在给定div中的我的角度组件中显示生成的表。我可以生成并显示表,但只能在外部,即使它已在home.component.ts ngAfterInit()内实例化。谢谢你的帮助。