簡體   English   中英

在Angular,XML2JS中未定義“ this”

[英]'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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM