有一个全局变量需要从后台请求,在App.vue的created里请求后台数据,然后赋值给这个全局变量,如何保证其他组件在import这个变量的时候已经赋值成功?
有一个全局变量需要从后台请求,在App.vue的created里请求后台数据,然后赋值给这个全局变量,如何保证其他组件在import这个变量的时候已经赋值成功?
import是可以共享状态的,你想要引入就已经赋值成功的,可以做一个mixin,直接赋值给data中的变量,这样每个页面都一样的。当然,你也可以用mixin + vuex实现同等的效果
Vue中使用全局变量
配置这个的原因是因为在项目中有一些地方引用到了图片url,但是因为ip会不一样,每次修改这么多页面挺麻烦,就做了一下统一配置,方法如下:
1.在main.js中设置一个全局变量
Vue.prototype.$IMGURL = 'http://192.168.12.1:23000/img...
2.界面上的使用(直接将定义的变量名写过来即可,不用加this.)
<img :src="$IMGURL+scope.row.content" width="480" class="head_pic" @load="loadImg"/>
3.js中的使用 (需要在变量前边加上this.)
this.imageUrl = this.$IMGURL+res.data.value;
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
2 回答4.7k 阅读✓ 已解决
4 回答4.3k 阅读✓ 已解决
可以使用router钩子来做处理。