JavaScript / Vuex'这个'转向' undefined'

时间:2018-03-08 16:45:08

标签: javascript vue.js vuejs2 vuex laravel-mix

所以这是我的Vuex动作,用this._vm调用我的插件$ errorToast:

activateCoupon: (context, id) => {
    return new Promise((resolve, reject) => {
       api.activateCoupon({id: id}).then(
           (response) => {
               if(response.success){
                   context.commit('RESET_CART');
                   context.commit('SET_COUPON', response.body.data.coupon);
                   resolve(response); 
               }else{
                    this._vm.$errorToast.show(resBody.code);
                    reject(response);
               }
           },
           (error) => {
                this._vm.$errorToast.show(error.body.code);
                reject(error);
           }
       );
    });  
}

但不知怎的,它转化为:(this => undefined)

activateCoupon: function activateCoupon(context, id) {
    return new Promise(function (resolve, reject) {
        _api2.default.activateCoupon({ id: id }).then(function (response) {
            if (response.success) {
                context.commit('RESET_CART');
                context.commit('SET_COUPON', response.body.data.coupon);
                resolve(response);
            } else {
                undefined._vm.$errorToast.show(resBody.code);
                reject(response);
            }
        }, function (error) {
            undefined._vm.$errorToast.show(error.body.code);
            reject(error);
        });
    });
},

奇怪的是,我对我的其他VuexStore使用相同的方法。而在其他商店这个'成为' _this8' 我正在使用Laravel-Mix进行编译。

0 个答案:

没有答案