在vue中使用回调函数,this调用无效的解决
网络编程 2021-07-04 14:06www.168986.cn编程入门
这篇文章主要介绍了在vue中使用回调函数,this调用无效的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随长沙网络推广过来看看吧
let self = this //使用新变量替换this,以免this无效
//updateStudentInfoToServer是一个将本身部分数据异步上传的接口,接收三个参数,其中第一个是数据,第二、三个是函数,第二、三个函数使用function(){}形式书写
updateStudentInfoToServer:function(data, workOk, workError){ let postData = this.$qs.stringify({ data:data }) this.axios.post('/api/update/updateStudentInfo', postData ).then(res=>{ console.log(' return : ') console.log(res) workOk(res) //网络成功的回调 }).catch(error=>{ console.log(error) workError(error) //网络失败的回调 }) console.log('axios done') }, this.updateStudentInfoToServer(data, function(res){ console.log('return ok') console.log(res) // console.log('self') // console.log(self) //就是this // console.log('this') // console.log(this) //undefined self.handleCancelEdit() },function(error){ console.log(error) } )
提交网络数据是异步调用,所以会先返回然后才执行成功、失败的回调。
这种书写方式,function的作用于决定了function的代码块内使用this无法改变、获取vue data中设置的变量
使用es6的箭头语法可以实现this的随处调用
this.updateStudentInfoToServer(this, res=>{ console.log('return ok') console.log(res) console.log('self') console.log(self) console.log('this') console.log(this)//this和self一样 }, error=>{ console.log(error) } )
不过某些浏览器的某些版本不支持es6的语法,可能导致各种各样的问题
补充知识vue在全局函数中加回调,调用vue文件中的函数
全局函数可以写一个文件globalFunc.js
exports.install = function(Vue, option){ Vue.prototype.setData = function(that, key){ that[key] = '222' } Vue.prototype.testCallMe = function(str){ console.log('test call me' + str) } Vue.prototype.testCallBack = function(func, param){ func(param) this.testCallMe('tetetet') } }
main.js
import globalFunc from
Vue.use(globalFunc)
vue文件中
调用
this.testCallBack(this.test, 'yui0')//使用全局函数调用vue文件中的函数,修改vue文件中的数据
this.setData(this, 'msg')//使用全局函数修改vue文件中的数据
test函数编写
test:function(str){ this.msg = '233' + str },
以上这篇在vue中使用回调函数,this调用无效的解决就是长沙网络推广分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持狼蚁SEO。
上一篇:封装 axios+promise通用请求函数操作
下一篇:js实现简单抽奖功能
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程