需求:
頁面加載後獲取接口A,而後獲取接口B
經過A接口獲取info,info爲接口B的參數
A和B在vue不一樣的組件裏,這就涉及到接口返回的一個時間差
假如A接口在A組件內,B接口在B組件內。vue
解決方案:
A組件請求A接口後存放在vuex
state: {
info:null
}
B組件內經過computed進行實時計算監聽
computed: {
info() {
return this.$store.state.info;
}
}
而後,經過watch監聽info,監聽到有值後,就能夠調用接口B
needInfo(fn) {
let watchAch = this.$watch("info", (val, oldVal) => {
if (val) {
this[fn]();
watchAch(); //取消監聽
}
});
},vuex