vue不同组件之间接口先后调用的顺序

组件与组件之间需要共享数据
页面加载后获取接口A,然后获取接口B
通过A接口获取uid,uid为接口B的参数
A和B在Vue不同的组件里,这就涉及到接口返回的一个时间差
假如A接口在A组件内,B接口在B组件内。

解决方案:
A组件请求A接口后存放在vuex

1
2
3
4
5
6
7
8
state: {
  uid:null
}

---

// 请求接口A后保存到vuex
this.$store.dispatch('app/setUid', 123)

B组件内通过computed进行实时计算监听

1
2
3
4
5
computed: {
  uid() {
    return this.$store.state.uid;
  }
}

然后,通过watch监听uid,监听到有值后,就可以调用接口B

1
2
3
4
5
watch: {
uid(newVal, oldVal) {
// 请求接口B
}
}