请问如何优雅地在axios中访问vue的实例?

项目用的vue-cli,现在我想在axios的拦截器中处理请求中的错误,同时用vue的组件显示出错误。我现在的做法是在index.html中定义了一个全局变量vm,在main.js中初始化Vue实例时,把返回的值赋给window.vm,再在axios的拦截器中用window.vm调用通知组件展示错误信息。但是我觉得这样的方法有点挫,而且不优雅,想请问下各位大神有什么更优雅的方式么?Thx!
示例:
index.html
main.js
//拦截器
axios.intercepters.response.use(response=>{
if(!response.result){
window.vm.$info(response.message)
}
})
//初始化Vue实例
window.vm=newVue(...)
慕容森
浏览 942回答 2
2回答

三国纷争

我觉得这样就挺好,如果你不想使用这个new出来的vm的话,也可以如此:Vue.prototype.$info(response.message);因为这个$info,也就是扩展到Vue对向上方便你在Vue对象里使用的。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript