问答

封装过的axios挂载在vue原型链上,就无法在created里调用吗?

作者:admin 2021-04-19 我要评论

在created里无法调用this.$axios,是因为在created实例还未创建完吗?请问有什么优化方案吗? 还有就是在computed里,无法获取到BOM吗,像localstorage,服务器...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

image.png
在created里无法调用this.$axios,是因为在created实例还未创建完吗?请问有什么优化方案吗?
还有就是在computed里,无法获取到BOM吗,像localstorage,服务器端也会报错。

补充报错:
image.png

###

在vue开发的过程中,很少直接写在mounted中,都是在methods中进行封装然后再mounted中进行调用。你问的这个问题,一看都是刚刚做项目。

###

是可以访问实例上的方法的,请把报错贴出来

###

第一个问题:
Vue在调用created时已经创建完data、methods等。
由于题主没有贴代码,也没有报错,
一个原因是由于--
在使用axios的时候里面的this是undefined,而不是vue
因此需要让this指向外层的实例对象
方法:

  • 在axios外用变量var this=this
  • then的时候使用箭头函数

第二个问题:
你问的是DOM吧?
computed的初始化是在beforeCreatedcreated之间完成的
紧跟着data、property、methods、watch初始化配置完成之后执行,

image.png

因此无法获取DOM

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • nginx响应速度很慢

    nginx响应速度很慢

  • 点击选中的多选框,会在已选那一栏显示

    点击选中的多选框,会在已选那一栏显示

  • PHP 多态的理解

    PHP 多态的理解

  • 关于C语言中static的问题

    关于C语言中static的问题

腾讯云代理商
海外云服务器