我需要將腳本插入到一個類似於此項的角度項目中。使用角度2+操作帶有JS的DOM以運行腳本
<script type="text/javascript" src="https://s3.tradingview.com/external-
embedding/embed-widget-events.js">
{
"width": "510",
"height": "600",
"importanceFilter": "-1,0,1"
}
</script>
顯然,不能將它粘貼到模板中,因爲NG會清理腳本標記,什麼都不會發生。所以我有一個操縱DOM的方法,看起來像這樣。
insertScript() {
var element = document.getElementById("myCal");
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = "https://s3.tradingview.com/external-embedding/embed-widget-events.js";
script.innerHTML = '{"width": "510","height": "600","importanceFilter": "-1,0,1"}';
element.appendChild(script);
console.log(element);
}
現在,我的角度與消毒這樣做,我們沒有得到成過程後運行ngAfterViewInit()方法。腳本被插入,控制檯輸出顯示它在div處,你可以檢查看到它,但沒有任何反應!
我在項目外的普通html上下文中檢查了腳本,它完美地工作。
不知道從這裏搬到哪裏真的,任何建議將非常感激。謝謝。
看來,該腳本可能會綁定到事件發生在腳本實際上在Angular中初始化之前,例如onload。 –