此代码是一个使用angularjs和typescript的ASP.net应用程序
在html文件中,有一个ng-repeat(用于填充表),它正在监视变量this.csvData (这是一个由private csvData = []
定义的实例变量)并且表格完美地生成。但是,当我在updateDataDict函数内部尝试console.log时,控制台返回[]。我不知道为什么....实例变量在Typescript中不保留值
public csvData = [];
private csvDataDict = {};
private getCSVdata() {
var locationType = document.getElementById('dropdownButton').innerText.toLowerCase();
console.log("Inside CSV data");
let dataArray = [];
this.$http.get(this.csvLocations[locationType]).then(function (res) {
var result = res.data.toString().split(/\r\n|\n/);
for (let i = 0; i < result.length; i++) {
let [sourceURL, redirectURL] = result[i].split(',');
dataArray.push({
sourceURL: sourceURL,
redirectURL: redirectURL
})
}
});
this.csvData = dataArray;
this.updateDataDict()
}
private updateDataDict() {
console.log(this.csvData); // this line is screwing up.....
}
this.updateDataDict()将在内部代码之前执行。 –