對不起,如果這個問題是重複的傢伙。我無法找到任何合適的解決方案,所以我在這裏發佈。Angular2調用外部JS文件函數裏面的組件
我正在角2創建一個組件。我有一個外部js文件並動態加載它。在外部的js文件中,我有一個帶參數的函數。如何在ngAfterViewInit
內調用該參數。我是新來的角2,所以不知道怎麼稱呼在角2打字稿的js函數,我會後我的代碼,供大家參考
app.component.ts
import { Component, OnInit, ElementRef,AfterViewInit } from '@angular/core';
declare var $:any;
@Component({
selector: 'app-root',
template: '<div></div>'
})
export class AppComponent implements AfterViewInit {
urlinput;
constructor(elRef: ElementRef){
this.urlinput = elRef.nativeElement.getAttribute('urlinput');
this.loadScript();
}
ngAfterViewInit() {
// need to call the js function here
//tried like this initializeDataTable(this.urlinput) not worked
}
loadScript() {
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = "app/Message.js";
head.appendChild(script);
}
}
Message.js(外部JS文件)
function initializeDataTable(dTableURL){
$.ajax({
"url": dTableURL,
"success": function(json) {
var tableHeaders;
$.each(json.columns, function(i, val){
tableHeaders += "<th>" + val + "</th>";
});
$("#tableDiv").empty();
$("#tableDiv").append('<table id="displayTable" class="display" cellspacing="0" width="100%"><thead><tr>' + tableHeaders + '</tr></thead></table>');
$('#displayTable').dataTable(json);
},
"dataType": "json"
});
}
的index.html
<app-root urlinput="app/array.txt">Loading...</app-root>
請幫我解決這個問題。
能否請您糾正我的財產打字稿方式代碼,我能不能讓你 –
遺憾沒工作 –
的問題,你給了鏈接ñ與此相關,它是從兩個.ts文件導入函數,而不是從.js導入.ts文件,希望你能理解 –