Ionic Framework Typescript:回调函数无法访问`this`变量

时间:2017-11-21 21:33:15

标签: javascript angular d3.js ionic-framework ionic3

回调函数无法访问this个变量。

具体来说,我正在使用d3.request和ionic 3. d3.request能够进行休息调用但是我无法将响应分配给我的this.data变量。我能够console.log(响应)

如何访问this.variables?

d3Request.request('http://47.184.52.10:8000/xyplot/')
  .header('Content-Type', 'application/json' )
  .post(JSON.stringify({'envelope':this.envelope,'chartTime': this.chartTime}),
      function(d){
          console.log(d.response);
          console.log(this.data) /*<---this.data*/
      })

带来错误'无法读取未定义'的属性'数据'

如何解决此问题,以便将我的d3.request响应分配给this.variable ??

1 个答案:

答案 0 :(得分:3)

未在函数内定义。使用箭头功能来解决这个问题

d3Request.request('http://47.184.52.10:8000/xyplot/')
  .header('Content-Type', 'application/json' )
  .post(JSON.stringify({'envelope':this.envelope,'chartTime': this.chartTime}),
      d => {
          console.log(d.response);
          console.log(this.data) /*<---this.data*/
      })