在$ resource.query回调函数中访问类变量时出现es6问题

时间:2016-01-26 13:35:42

标签: javascript angularjs angular-resource

我正在使用ES6和Angular JS 1.X.每当我尝试在Editor回调函数中访问类级变量(在构造函数中声明)时,我都会收到此错误:

  

“TypeError:无法读取未定义的属性'maxSize'。

例如:

构造

$resource.query

班级方法

constructor() { 
    this.invArr = [];       
    this.maxSize = 3;        
}

1 个答案:

答案 0 :(得分:0)

this的回调函数中this.invLookUpSvc.getPortalInvByProdNbrSum().query的上下文发生了变化。要解决此问题,您应该将回调函数绑定到this上下文:

bindData(){
    this.invArr = this.invLookUpSvc.getPortalInvByProdNbrSum().query({
        rtbProductNbr: this.productNumber
    }, function (data) {
        if (angular.isDefined(data)) {
            this.invArr = data;
            console.log(this.maxSize);                
        }            
     }.bind(this));
}