[Loading Component]Loading组件的v-model设计是否不合理?

  1. vue2.4.2版本中给computed里的属性加了限制,详见assigning to a computed property without setter does not fail
  2. 项目将vue升级之后,配合vux官网的页面切换显示loading代码,会报错[Vue warn]: Computed property "isLoading" was assigned to but it has no setter.
  3. vue的issue里问了一下,是因为Loading组件绑定值的时候用的v-model导致的,改成:value="isLoading"那个warn就不会出现了。
  4. 想了一下这个Loading组件的作用,又看了一下Element设计的Loading组件,我认为Loading组件的这个是否显示的属性不需要用v-model绑定
  5. 用v-model来实现数据的双向绑定,在Loading这个组件里,没看到什么用处,是否还有别的场景会需要用v-model来实现呢?

这是不得已为之,vue2 废弃了 sync,只有 v-model 才能直接实现双向绑定,而 2.3 又把 sync 放回来,2.4 加了进一步的限制。所以这里组件代码又要改了。使用 v-model 在当时是为了统一绑定方式预留可能存在的内部状态更改实现的可能性。

来源于:https://github.com/airyland/vux/issues/1798

原文地址:https://www.cnblogs.com/qiao20/p/7307573.html