Angular 2仅使用箭头功能渲染

时间:2017-02-10 02:26:42

标签: angular

Angular 2它只使用arrw函数渲染,或者我做错了什么?

this.service.getData(o).subscribe(res => {
  this.data = res.data
  this.view = res.view
});

实际渲染我的组件,但

this.service.getData(o).subscribe(function(res){
  this.data = res.data
  this.view = res.view
});

没有错误,但我的组件没有更新

1 个答案:

答案 0 :(得分:1)

因为你丢失了context

let self = this;

this.service.getData(o).subscribe(function(res){
  self.data = res.data
  self.view = res.view
});

订阅采用observer对象。因此,代码中的this表示:observer对象的上下文。

或使用此方法:

this.service.getData(o).subscribe((function(res){
  this.data = res.data
  this.view = res.view
}).bind(this));