Typescript 从Angular 6组件动态加载外部javascript文件,而无需操作HTML DOM
我正试图加载一个巨大的js文件只为一个组件。当且仅当用户导航到特定链接时,才需要加载该链接。我想在不操纵dom的情况下完成它 我试过的代码是-Typescript 从Angular 6组件动态加载外部javascript文件,而无需操作HTML DOM,typescript,angular6,lazy-loading,webpack-4,Typescript,Angular6,Lazy Loading,Webpack 4,我正试图加载一个巨大的js文件只为一个组件。当且仅当用户导航到特定链接时,才需要加载该链接。我想在不操纵dom的情况下完成它 我试过的代码是- loadAPI: Promise<any>; constructor() { this.loadAPI = new Promise((resolve) => { this.loadScript(); resolve(true); }); } public loadScr
loadAPI: Promise<any>;
constructor() {
this.loadAPI = new Promise((resolve) => {
this.loadScript();
resolve(true);
});
}
public loadScript() {
var isFound = false;
var scripts = document.getElementsByTagName("script")
for (var i = 0; i < scripts.length; ++i) {
if (scripts[i].getAttribute('src') != null && scripts[i].getAttribute('src').includes("loader")) {
isFound = true;
}
}
if (!isFound) {
var dynamicScripts = ["https://widgets.skyscanner.net/widget-server/js/loader.js"];
for (var i = 0; i < dynamicScripts .length; i++) {
let node = document.createElement('script');
node.src = dynamicScripts [i];
node.type = 'text/javascript';
node.async = false;
node.charset = 'utf-8';
document.getElementsByTagName('head')[0].appendChild(node);
}
}
}
loadAPI:Promise;
构造函数(){
this.loadAPI=新承诺((解析)=>{
这个.loadScript();
决心(正确);
});
}
公共加载脚本(){
var isFound=false;
var scripts=document.getElementsByTagName(“脚本”)
对于(变量i=0;i
操作dom并在head部分添加脚本标记。有些人可以建议或已经这样做而不更新dom吗