VUE中提取公共方法
写一个ajax请求方法,在组件中正常,提取到公共方法的文件中就不正常啦,就报Cannot read property “$http ”of undefined",这个到底是怎么回事?我研究一天啦,也没有找到解决办法,请求帮助
这个是公共方法(common.js):
页面的调用方法(rank.vue):
报错的情况:
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
你的公共方法的this根本指的不是VUE的实例,你this能找到$http和store就有鬼了。。。。。你外部js包,不导入需要的依赖,就直接调用么?你这里的this指向的是Request。
import XXXX from 'XXXX'
把你需要的东西引入再用。
有空多补补js基础
this.$http
改成Vue.prototype.$http
,别忘了import Vuethis.$http中的this无法指向vue实例,楼上正解。
解决方法,可以将vue实例作为request函数的参数传进来,request(this)