vue点击按钮隐藏显示的时候,其他不相干的dom会触发更新,这是vue特性还是bug

图片.png
图片.png
图片.png
每次点击触发setUp方法的时候。其他代码里也被触发了图片.png

--------分割线------------
然后我写了个demo测试
图片.png
图片.png
结果点击的时候,alert也会被触发,怎么阻止呢

已解决 悬赏分:50 - 解决时间 2021-11-26 15:41
反对 0举报 0 收藏 0

回答3

最佳
  • @

    参考:

    https://forum.vuejs.org/t/v-f...

    支持 0 反对 0 举报
    2021-11-26 08:14
  • @

    只能说是vue的特性,你要是理解成bug也行。。。

    下面我来说说解决方案。

    1. 计算属性。通过计算属性来求值而不是方法。
    2. 组件化。这样的话也不会出现这个问题

    出处的话,我得给你找找。

    支持 0 反对 0 举报
    2021-11-26 09:43
  • @

    你的意思就是明明变动的是上面的部分,为什么下面也会触发 render 是吧?
    vue 1.x 的时候我记得是针对到单个 dom 这个粒度的更新,但是在 2.x 的时候基本和 react 差不多,针对的组件进行 render,也就是你的变动仅仅是通知了对应的组件需要 render 一下,组件这个时候是不知道具体哪个 dom 需要更新的,然后这个组件内的东西就都会走一遍 render 的这个流程,自然也就触发了你说的更新

    支持 0 反对 0 举报
    2021-11-26 11:11