Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ';这';在Angular、XML2JS中未定义_Javascript_Angular_Angular5_Xml2js - Fatal编程技术网

Javascript ';这';在Angular、XML2JS中未定义

Javascript ';这';在Angular、XML2JS中未定义,javascript,angular,angular5,xml2js,Javascript,Angular,Angular5,Xml2js,在此代码中,指示的行似乎无法访问此。控制台日志显示未定义的。 result为我提供了一个正确且格式化的JSON,但是当我尝试获取result变量并在this.serverJSON中设置它时,它会抛出一个错误无法设置未定义的属性“serversJSON”。 我想获取result中保存的值并将其放入serversJSON。 如何实现这一点,以及为什么此不可用?您正在失去回调函数中此的上下文 改为使用胖箭头函数(保留此) 这是正常功能和箭头功能之间的区别。:)只是想知道为什么您先使用箭头,然后切换到函

在此代码中,指示的行似乎无法访问此。控制台日志显示未定义的
result
为我提供了一个正确且格式化的JSON,但是当我尝试获取
result
变量并在
this.serverJSON
中设置它时,它会抛出一个错误
无法设置未定义的属性“serversJSON”
。 我想获取result中保存的值并将其放入
serversJSON

如何实现这一点,以及为什么
不可用?

您正在失去回调函数中
的上下文

改为使用胖箭头函数(保留此)


这是正常功能和箭头功能之间的区别。:)只是想知道为什么您先使用箭头,然后切换到函数表达式?我看到
=>
已经在您的代码中使用了。我想你不知道它是干什么的?如果是这样,建议阅读“箭头函数”。@dfsq,您是正确的。谢谢你给我指明了正确的方向。不使用箭头功能有好处吗?@vc669您也可以使用
功能
,但在这种情况下,不使用箭头功能没有意义。使用
(err,result)=>{
。它可以很好地处理这个问题。
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
            });
        });
      }
}
xml2js.parseString(getString, (err, result) => {
  this.serverJSON = result;
});