变量不使用Angular 2 beta中的获取响应数据进行更新

时间:2016-02-16 16:05:42

标签: angular

我一直在尝试使用获取响应数据更新变量,以便在我的模板中为ng-For指令绑定相同的变量。我收到响应并在控制台中看到它,但它不会更新我的代码中的变量。

getStoreList是我在click事件上调用的函数。 this.stores是我想用响应数据更新的变量。

对此方面的任何帮助表示赞赏。感谢。

getStoreList:function(val){
var str='{"title":"'+val+'"}';

    fetch('http://localhost:3000/mystorelist/getstores', {
    method: 'POST',
    headers: {
        'Accept': 'application/json',
        'Content-Type': 'application/json;charset=UTF-8'
      },
      body:str
    })
    .then(function(response){
        response.json().then(function(data) { 

            this.stores=data[0].stores;


            //localStorage.setItem('storelist',JSON.stringify(this.stores))

      });

    })

  }

1 个答案:

答案 0 :(得分:2)

this不会引用你的类,因为它嵌套在那些回调中。您可以使用es6箭头功能来帮忙。

.then((response) => {
    response.json().then((data) => { 
        this.stores=data[0].stores;
  });
})

箭头函数使函数的this引用父函数的this