Typescript 如何在我的本地函数中分配全局实例

Typescript 如何在我的本地函数中分配全局实例,typescript,Typescript,我对打字稿/安格拉尔2相当陌生。让我快速总结一下我用我的方法要做的事情。我有一个硬编码的XML数据,在那里我将其解析为JSON,然后,我将每个JSON分配给一个FormComponent对象,该对象的属性为id、field和label。分配完对象后,我将它们推送到本地数组。这就是我的困境所在。我想将我的本地(demoArray)分配给我的全局实例(jsonArray),但我得到一个错误,如下所示。我尝试调用另一个函数来分配它,但我无法使用此函数访问我的全局实例。如果你们能帮我,我会非常感激的。提

我对打字稿/安格拉尔2相当陌生。让我快速总结一下我用我的方法要做的事情。我有一个硬编码的XML数据,在那里我将其解析为JSON,然后,我将每个JSON分配给一个FormComponent对象,该对象的属性为id、field和label。分配完对象后,我将它们推送到本地数组。这就是我的困境所在。我想将我的本地(demoArray)分配给我的全局实例(jsonArray),但我得到一个错误,如下所示。我尝试调用另一个函数来分配它,但我无法使用此函数访问我的全局实例。如果你们能帮我,我会非常感激的。提前感谢:)

这是我试图访问的实例(函数和实例在同一个类中

jsonArray:Array<FormComponents> = [];

jsonArray:Array=[];
我试图访问jsonArray的位置

parseToJson(){
    
    let xml = '<forms><id>1</id><field>text</field><label>Name</label><id>2</id><field>radio</field><label>radio</label></forms>';   
    var parseString = require('xml2js').parseString;
    parseString(xml, function (err:any, result:any) {
      let counter = result.forms.field.length;
      let demoArray: Array<FormComponents> = [];
      for (let i = 0; i < counter; i++) {
         const myObj = new FormComponents();
         myObj.id = result.forms.id[i];
         myObj.field = result.forms.field[i];
         myObj.label = result.forms.label[i];
         demoArray.push(myObj);
      }
      
      //console.log(demoArray);
      this.jsonArray = demoArray; //where I'm getting my error

      
    });

    console.log(this.jsonArray);

  }
  
}

parseToJson(){
让xml='1textName2radioradio';
var parseString=require('xml2js')。parseString;
parseString(xml,函数(err:any,result:any){
让计数器=result.forms.field.length;
让demoArray:Array=[];
for(设i=0;i
问题在这里:
解析字符串(xml,函数(err:any,result:any){…}

函数中,
指向函数本身。
您可以使用
(err:any,result:any)=>{…}


仅供参考:

请查看。非常感谢我将查看此链接非常感谢,我不知道为什么这是解决方案,但我将查看您提供的链接。再次感谢:)