想利用vuex 刷新父及更高层次组件接口数据(已实现):
有个问题:回调如何触发?
// vuex 伪代码
state: {
updateData: false // 刷新状态
},
mutations: {
update_data(state, payload) {
state.updateData = payload;
}
}
// 点击刷新按钮
this.$store.commit('update_data', true);
???如何获取接口成功之后的回调
// 高层组件
...mapGetters({
updateData: 'updateData' // 刷新状态
)
// 监听调用接口
watch: {
updateData(val) {
if (val) {
this.getData();
}
}
}
//接口数据
getData() {
http().then(() => {
this.$store.commit('update_data', false);
})
}
子组件接受一个用户操作,父组件需要进行刷新,这不是一个事件传递的问题吗?
那跟着你的思路,子组件触发vuex=》vuex触发父组件的watch=》父组件获取数据
那为什么不能子组件触发vuex获取数据=》vuex将数据下发到父组件呢