为什么我无法访问数据绑定变量?

时间:2017-12-22 14:54:38

标签: javascript angular

我在Angular中的Reply contains invalid hex digit 59类中有这个函数,它进行AJAX调用并接收一个JSON文件,并在按钮点击时将其存储在变量中。

AppComponent

我无法通过以下方式从HTML访问getData = function() { let request = new XMLHttpRequest(); request.open('GET', 'https://mywebsite.com/data.json'); request.onload = function() { let data = JSON.parse(request.responseText); }; request.send(); }

data

只有在我这里使用它才有效

<p>{{data.name}}</p>

如何在此函数外部访问request.onload = function() { let data = JSON.parse(request.responseText); document.getElementById('myParagraph').innerHTML = data.name; }; 变量并将其用于HTML中的绑定?

1 个答案:

答案 0 :(得分:2)

你必须在类级别有一个变量

export class SampleClass implements OnInit {

data: any ;

constructor() {
}

 getData() {
  let request = new XMLHttpRequest();
  request.open('GET', 'https://mywebsite.com/data.json');
  request.onload = this.manageData.bind(this);
  request.send();
 }

 resolveData(ev){
    this.data = JSON.parse(ev.target.response);
    console.log(this.data);
 }
}