В приведенном ниже коде я пытаюсь присвоить содержимое testdata значениям в checkList. Проблема, которую я получаю, состоит в том, что контрольный список не определен, когда начинается l oop. Я не могу понять, как решить эту проблему, кажется, что независимо от того, что я делаю, либо checkList, либо testdata не определены.
Я новичок ie с Angular, и мне интересно, имеет ли это какое-то отношение к свойствам asyn c метода get?
masterSelect: Boolean;
checkList: any;
fileNames$: any;
testdata: string[];
constructor(private http: HttpClient) {
this.checkList = [
{id:1,value:'Section1',isSelected:false},
{id:2,value:'Section2',isSelected:false},
{id:3,value:'Section3',isSelected:false},
{id:4,value:'Section4',isSelected:false},
{id:5,value:'Section5',isSelected:false},
{id:6,value:'Section6',isSelected:false},
{id:7,value:'Section7',isSelected:false},
]
this.fileNames$ = this.http.get<any>(this.baseUrl + "Invoice/GetFileNames").subscribe(function (data) {
this.testdata = data;
for (let i = 0; i < this.testdata.length; i++) {
//console.log(this.testdata[i])
this.checkList[i].value = this.testdata[i];
}
}, function (error) {
this.testdata = error;
});
this.masterSelect = false;
}