Angular 初始化为oninit的未定义数组
我有一段话:Angular 初始化为oninit的未定义数组,angular,Angular,我有一段话: usersTempList=[]; ngOnInit() { this.obj = {user: JSON.parse(localStorage.userDetails),room:"Sala" + this.projectID, projectID: this.projectID}; this.loggedUser = JSON.parse(localStorage.userDetails).UserID; this.roomList.push(this.obj.r
usersTempList=[];
ngOnInit() {
this.obj = {user: JSON.parse(localStorage.userDetails),room:"Sala" + this.projectID, projectID: this.projectID};
this.loggedUser = JSON.parse(localStorage.userDetails).UserID;
this.roomList.push(this.obj.room);
this.usersTempList=[];
console.log("Initialized array")
this.join(this.obj);
...
}
join(obj: any){
this.socket.emit("join",obj,this.getOnline);
}
getOnline(err,msg){
console.log(this.usersTempList);
console.log("Printed array");
this.usersTempList = JSON.parse(JSON.stringify(msg));
console.log("qwerty",this.usersTempList);
}
在浏览器上打开此组件时,*ngFor
都不起作用(它不打印任何内容),并且getOnline
第一行的控制台.log
始终打印未定义的。此外,即使在后续行中更新了变量,*ngFor
仍然不会更新接口
有人对此有任何线索吗
谢谢 问题解决了,因为我无法访问作用域内的数组,所以我使用了一个箭头函数,它起了作用,usersTempList不再是未定义的
join(obj: any){
this.socket.emit("join",obj, (err,msg) => {
this.usersTempList=JSON.parse(JSON.stringify(msg))
});
}
谢谢大家! 请分享您的HTML代码,首先,getOnline是一个不会返回任何内容的函数。您是否可以进一步指定希望看到的输出?