[英]Node xml2js is returning 'undefined' when using parseString()
[英]'this' is undefined in Angular, XML2JS
export class ServerComponent {
servers:string[];
getString:any;
serversJSON:any;
constructor() {
}
ngOnInit() {
console.log("ngOnInit");
this.getXmlService.getData().subscribe((getString) =>
{
xml2js.parseString(getString, function (err, result) {
this.serverJSON = result; // This doesn't work
console.log(result); // This works
});
});
}
}
在此代碼中,指示的行似乎無法訪問this
。 控制台日志記錄顯示undefined
。 result
為我提供了正確且格式正確的JSON,但是當我嘗試采用result
變量並將其設置在this.serverJSON
,它將引發錯誤Cannot set property 'serversJSON' of undefined
。 我想將結果中保存的值放入serversJSON
。 如何才能實現這一目標,為什么this
不可用?
您正在失去的情況下this
回調函數中。
請改用fat-arrow函數(保留this
)。
xml2js.parseString(getString, (err, result) => {
this.serverJSON = result;
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.