Vue--this的指代问题及用法
Vue--this的指代问题及用法
- this在普通函数( function( ){ } )里,指代调用该函数(方法)的对象
- this在箭头函数( ()=>{} )里,指代定义该箭头函数的外层对象
在axios调用当前vue实例的data:
- axios回调函数( .then() )是在执行栈中被执行,其中this指向window,若要在axios中取后端数据并赋值给data,2种方法
- 回调函数内部改为箭头函数,this指向由window转为定义箭头函数外层对象即该vue实例
- 在函数内axios外定义临时变量保存当前vue实例,var that=this,在.then()中使用that即可
created: function () { var that=this axios({ url: 'http://localhost:8088/api/Statistics', method: 'get', params: { user_id: that.$store.state.user_id //windows访问不了store } }) .then(response=>{ this.total=response.data[0], this.done=response.data[1], this.rest=response.data[2], this.today=response.data[3] }) }
- 特别地,created(),mounted(),destroyed()等实例生命周期的钩子函数的this指向该vue实例
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏