Итак, я синхронизирую вычисленное значение с компонентом и устанавливаю его с помощью вычисляемого установщика, когда он выполняет синхронизацию с компонентом.
Мой вопрос: возможно ли заменить вычисленный получатель / установщик на mapState и mapMutations или как можно добиться этого более компактным способом?
<template>
<SomeComponent :value.sync="globalSuccess"></SomeComponent>
</template>
export default {
//...
computed: {
globalSuccess: {
get() {
return this.$store.state.globalSuccess;
},
set(val) {
this.$store.commit("globalSuccess", val);
}
}
}
}
Я пытался заменить его следующим образом:
export default {
//...
computed: {
...mapState(["globalSuccess"]),
...mapMutations(["globalSuccess"]),
}
}
Но, к сожалению, mapMutations(["globalSuccess"])
сопоставляет this.globalSuccess(value)
с this.$store.commit('globalSuccess', value)
в соответствии с документацией vuex .
Но так как мое вычисленное значение устанавливается с помощью globalSuccess = true
внутри через :value.sync
в шаблоне, а не this.globalSuccess(true)
, globalSuccess
никогда не будет установлен на true
.
Есть идеи, как это возможно? Или я застрял, используя вычисленные значения с getter и setter?