对于普通函数,this指的是直接的调用者,在非严格模式下,如果没有直接调用者,this匿名函数指向的是window)指的是window。(箭头函数(es6)是没有自己的this,在它内部使用的this是由它定义的宿主对象(vue实例)决定,this指的是vue实例对象绑定vue实例到this的方法
1.使用bind
lists:function(){
var arr=[];
this.list.forEach(function(val){ //forEach是js中的方法,js中的方法都指向window
if(val.indexOf(this.show)!=-1){
arr.push(val);
}
}.bind(this))
return arr;
}
2.把vue实例的this赋值给另一个变量再使用
lists:function(){
var arr=[];
var that=this;
this.list.forEach(function(val){
if(val.indexOf(this.show)!=-1){
arr.push(val);
}
})
return arr;
}
浙公网安备 33010602011771号