Vuejs :数据属性更改时组件不会重新呈现

我有一个Boolean - websiteHasCode类型的属性,它从存储中获取一个值。我想使用websiteHasCode (真或假)在页面中有条件地呈现html,最初组件A是好的( websiteHasCode的正确值)。在页面中有一个模态,它是组件A的子组件B,该模态具有更新存储值的功能- isCodeActive。所以当它更新时,我希望变量websiteHasCode也更新,并最终更新Dom,所以我使用了一个监视器,并像this SO question一样计算,但它似乎没有更新。有人能帮我解决这里的错误吗?

<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>

这是观察状态变化的最好方法吗,还有更好的方法吗?

转载请注明出处:http://www.intsu.net/article/20230515/1044763.html