这是第二次在项目中遇到此问题,ajax请求成功后在success函数中为Vue实例data里的变量赋值,却失败了
new Vue({ el:'#app', data:{ msg:'' }, created:function(){ $.ajax({ url:'', data:'', dataType:'json', success:function(res){ this.msg = res.data; } }) }})
原因在于在ajax的success函数中,this的指向不再是vue的实例
解决办法可以先把this保存起来
new Vue({ el:'#app', data:{ msg:'' }, created:function(){ var that = this; $.ajax({ url:'', data:'', dataType:'json', success:function(res){ that.msg = res.data; } }) }})