关于在vue中结合数组方法的this的指向问题

Posted 十nian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于在vue中结合数组方法的this的指向问题相关的知识,希望对你有一定的参考价值。

最近在项目中遇到一个这样的小问题,在用数组方法结合vue的时候,this的指向不是当前的vue实例,直接看代码

allSelect: function() {
   var _this = this;
   console.log(_this)
   this.checkId = [];
   this.batchDealItem.forEach(function(item) {
       //console.log(item.APPID)
      _this.checkId.push(item.APPID);//指向vue

     console.log(this)//指向window
   })
},

注意这里this的变化,在遍历的时候,this是指向window的,需要在遍历之前定义this的指向,不然浏览器会报错

大叔的文章:http://www.cnblogs.com/TomXu/archive/2012/01/17/2310479.html

 

以上是关于关于在vue中结合数组方法的this的指向问题的主要内容,如果未能解决你的问题,请参考以下文章

VUE关于data对象中数组修改和对象添加属性的响应式问题

关于数组的响应式方法和非响应式方法

vue 数组遍历方法forEach和map的原理解析和实际应用

vue(this. $set()和splice()方法)

vue中循环一个数组,不显示的问题,弄一个假数据,它反而会循环出来?why?

vue 中的Vue.set 和 this.$set 的区别