Typescript 如何在我的本地函数中分配全局实例
我对打字稿/安格拉尔2相当陌生。让我快速总结一下我用我的方法要做的事情。我有一个硬编码的XML数据,在那里我将其解析为JSON,然后,我将每个JSON分配给一个FormComponent对象,该对象的属性为id、field和label。分配完对象后,我将它们推送到本地数组。这就是我的困境所在。我想将我的本地(demoArray)分配给我的全局实例(jsonArray),但我得到一个错误,如下所示。我尝试调用另一个函数来分配它,但我无法使用此函数访问我的全局实例。如果你们能帮我,我会非常感激的。提前感谢:) 这是我试图访问的实例(函数和实例在同一个类中Typescript 如何在我的本地函数中分配全局实例,typescript,Typescript,我对打字稿/安格拉尔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)=>{…}
仅供参考:请查看。非常感谢我将查看此链接非常感谢,我不知道为什么这是解决方案,但我将查看您提供的链接。再次感谢:)