Subscribe on changes!

完全可控的阻断式响应

avatar
Jun 9th 2023

What problem does this feature solve?

  • 开发者可以精确控制响应性的影响范围,以此达到可阻断响应式,而不完全是自动响应式。
  • 非常适合运行时的响应性能优化,对多组件缓存情况下的处理可以更加优雅
  • 例如一个tabs panel下,通过v-show进行切换显示,但每一个tab panel通过v-bind="commonProps" 形式公用了相同的响应变量,当我显示tab-A时改变的commonProps一样会影响到tab-B,但预期的效果是tab-B不受影响。

What does the proposed API look like?

  • 以指令的方式类似于v-memo,例如:v-update="xxx" v-update="[xx,xxx...]" v-update="{xx:xxx,....}"
  • 指令v-update中依然具有响应性,当 v-update 的值计算结果为false时,将阻断所有影响当前组件的响应性特性,为true时恢复正常。
avatar
Jun 14th 2023

当我显示tab-A时改变的commonProps一样会影响到tab-B,但预期的效果是tab-B不受影响

把这两个 tab 的数据隔离开才是更容易维护的做法,而不是绑同样的数据却预期进行不同的渲染。在数据层做适当的抽象,也可以进行优雅地处理。