watch 监听数据如何重新加载dom

 <ul v-if="isShow">
    <li>第一行</li>
    <li>第二行</li>
    <li>第三行</li>
    <li>第四行</li>
    <li>第五行</li>
 </ul>
 
 data(){
   return {
    isShow: ''
   }
 }
 
watch: {
  hideElement(val, oldVal) {
    if (val) {
      this.isShow = false;
    } else {
      this.isShow = true;
    }
}

在watch里监听了一个值的变化, 用来控制某个div的显示与否,如果想要在watch里监听到数值变化后,不请求后端接口的情况下,如何让整个页面的dom 重新加载?求大神指点

阅读 4.1k
5 个回答

this.$forceUpdate()?

location.reload();

this.$set()
绑定数据啊 ... 不论怎么样都能刷新的

如果hideElement是对象的话, 使用深度监听:

watch: {
    hideElement: {
        deep: true,
        handler: value => {
            // xxxxx
        }
    }
}

在需要更新的 dom 最外层绑定 key

watch 里面执行 key++

如果不在同一个组件 key 就提到 store 里面或者其他方式的公共状态里

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题