https://codesandbox.io/s/pinia-store-usage-in-child-component-triggers-subscribe-in-different-unrelated-store-nvhwq8https://jsfiddle.net/posva/z0qbvLr3/
点击更改
观察者不会触发
观察者触发
gpnt7bae1#
这似乎发生在普通的Vue 2中:https://jsfiddle.net/posva/z0qbvLr3/,但在Vue 3中没有发生。这可能是由于React系统不使用代理的限制...我将其移动到vue仓库,以防万一。
zf9nrax12#
这是一个由于Vue 2的新属性添加检查与Vue 3的工作方式不同而产生的边缘情况。在Vue 3中,我们使用Proxy进行适当的检测,但在Vue 2中,我们通过将父对象本身注册为更改源来实现这一点。deep标志也导致只要有任何依赖项发生变化,watch回调就会一直运行。因此,不幸的是,这是由于Vue 2的响应性限制而产生的边缘情况。
deep
2条答案
按热度按时间gpnt7bae1#
这似乎发生在普通的Vue 2中:https://jsfiddle.net/posva/z0qbvLr3/,但在Vue 3中没有发生。这可能是由于React系统不使用代理的限制...我将其移动到vue仓库,以防万一。
zf9nrax12#
这是一个由于Vue 2的新属性添加检查与Vue 3的工作方式不同而产生的边缘情况。在Vue 3中,我们使用Proxy进行适当的检测,但在Vue 2中,我们通过将父对象本身注册为更改源来实现这一点。
deep
标志也导致只要有任何依赖项发生变化,watch回调就会一直运行。因此,不幸的是,这是由于Vue 2的响应性限制而产生的边缘情况。