请问vue的拦截器的方法里面,如何获取某个vue实例对象?

请问vue的拦截器的方法里面,如何获取某个vue实例对象,比如有个需求,loadding.vue是一个显示加载的页面,里面有一个属性isloadding,我希望在拦截器里... 请问vue的拦截器的方法里面,如何获取某个vue实例对象,

比如有个需求,loadding.vue是一个显示加载的页面,里面有一个属性isloadding,

我希望在拦截器里面通过loadding.isloadding=true来显示加载,loadding.isloadding=false来隐藏加载,以此达到每一次请求接口前后调用这两个语句,但是我在

Vue.http.interceptors.push((request, next)方法里面使用loadding.isloadding=true,提示loaddingundefined,应该如何使用?
展开
 我来答
德韵5B
2019-06-18 · TA获得超过1408个赞
知道小有建树答主
回答量:1325
采纳率:78%
帮助的人:228万
展开全部

每个vue实例都是独立的,只能够通过id(ref或者创建时的返回值)来访问。
方法1. 你这个组件可以独立起来,直接插入(不通过app组件)到dom中的指定位置。在拦截器的上级作用域定义,保证每次触发拦截器,访问到的是同一个实例

方法2. 你把这个组件挂载到window对象上面

方法3 给loading定义id,通过样式控制

我用的方法3,不过加了请求数量控制(因为是直接挂载到app上面的,所以没有用try)

追问
谢谢您了,我还是不明白,方法2中 this.refs.Loadding,this是在main.js文件中,这个this是什么?this.refs一般是获取当前vue中指定的ref标签获取子组件吧,但是loadding.vue是app.vue的子组件啊,这样能在main.js中获取吗
追答
this肯定是指loading组件的父组件啊,refs你在main.js怎么可能访问的到
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式