我有一个布尔类型的属性 - websiteHasCode,它从商店中获取一个值。我想有条件地使用 websiteHasCode(true 或 false)在页面中呈现 html,最初组件 A 很好(websiteHasCode 的正确值)。页面中有一个模态,它是组件A的子组件B,模态具有更新存储值的功能-isCodeActive。所以当它更新时我希望变量 websiteHasCode 也更新并最终更新 Dom,所以我使用了一个观察者并按照这个 SO 问题进行了计算,但它似乎没有更新。谁能帮助我在这里做错了什么?
<template>
<div>
<div v-if="websiteHasCode">
...............
</div>
<div v-else>
................
</div>
</div>
</template>
<script>
export default {
name: "dashboard",
props: [],
data() {
return {
websiteHasCode: Boolean,
}
},
mounted() {
this.websiteHasCode = this.$store.state.isCodeActive;
},
computed: {
isCodeActive () {
return this.$store.state.isCodeActive;
}
},
watch: {
isCodeActive: {
handler() {
console.log(this.websiteHasCode) // returns false
this.websiteHasCode = this.$store.state.isCodeActive;
console.log(this.websiteHasCode) // returns true but dom does not re-render
},
deep: true
},
},
}
</script>
这也是观察状态变化的最佳方法吗,还有更好的方法吗?
皈依舞
鸿蒙传说
随时随地看视频慕课网APP
相关分类