Vue中ajax返回的结果赋值
2024-10-19 01:31:50
这是第二次在项目中遇到此问题,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;
}
})
}
})
也可以将vue实例赋值给变量,再通过变量来访问其数据,实例化后window里会有vm实例对象,底层会把data里的属性挂载到vm实例对象上作为vm的属性
var vm = new Vue({
el:'#app',
data:{
msg:''
},
created:function(){
$.ajax({
url:'',
data:'',
dataType:'json',
success:function(res){
vm.msg = res.data;
}
})
}
})
参考资料
最新文章
- js打开没有地址栏下拉条新窗口
- MyBatis 注解使用动态SQL
- WPF ListView DoubleClick
- Windows 下的.NET+ Memcached安装
- ServiceStack.OrmLite 6 学习笔记 查
- Java SE ---关系运算符
- (转)Hprose与WCF在云计算平台Azure上的对决
- 5.7.2.1 Math对象
- hibernate 和 jdbc 优缺点对比
- js 移动端识别手机号码
- ubuntu14.04上实现faster rcnn_TF的demo程序及训练过程
- java 函数初始化作用
- Java——容器类库框架浅析
- 为什么String被设计为不可变?是否真的不可变?
- snmp模拟器snmpsid使用
- 使用git和github进行协同开发流程
- 【2016.3.16】作业 VS2015安装&;单元测试(1)
- dos与unix系统的格式转化
- 使用 BEGINCONTENT() 和 ENDCONTENT() 设定 YII 的 LAYOUTS
- SQL Server表描述 及 字段描述的增、删、改、查询