new Vue({
el: '#swiperBanner',
data: {
slideList : []
},
created: function () {
this.getSlider();
},
methods: {
getSlider : function () {
$.getJSON(basePath+'slider/index.html',{'id':13}, this.getData);
},
getData : function (data) {
if(data.code==1){
if(!common.isNullOrEmpty(data.info.list)){
console.log(this.slideList);
$.each(data.info.list, function(i,item){
this.slideList.push(item);
});
//this.slideList = data.info.list;
}
}
}
},
updated: function () {
new Swiper('.swiper-banner', {
pagination: '.swiper-pagination',
paginationClickable: true
});
}
});
这是一段正常的读取数据的代码,为什么在填充数据的时候会提示Cannot read property 'push' of undefined,为什么没有push属性呢?
this指向的问题,你在each的函数里面,当前的this并不是指向的vue的,所以没有找到slideList这个变量,自然就没有push这个属性了