$emit('update:page',val)

大概就是之前对 element 的分页进行了一个二封 。有一个每页多少条的数据 ,在二封的分页组件中 需要将 新的 条数 发送到父组件;

// vue 子组建 在里面默认了一个prop
  props: {
        limit: {
          type: Number,
          default: 15
      },
  }

handClick(){
  this.$emit( 'update:limit', 100);  // 子组件通过发送emit ,让父组件回调事件修改 
},

~
问题:
理论上 父组件 通过 limt.sync = 值 就可以实现一个prop的双向绑定,但是大部分 父组件在 调二封的分页组件 都没有做这个。

所以上面的 $emit 无效。
目前的解决办法是直接 this.limtt = val ; 控制台报错 '不能直接修改 prop 过来的值‘ 。虽然这样功能实现了,但多少有点不优雅;
有没有更好的办法
~

没有比较好的方法,如果你想要双向绑定prop的值,必须用v-model或者sync,这样就必须在每个父页面上使用 v-model:limit 或者 limit.sync

那就this.$parent.父组件ref名.limit = 100,这个也要求父组件ref名在多个使用的地方要一样。我觉得最优雅的是不是直接去找到这些使用的父组件地方,就使用这种:limit.sync="值"的方式,虽然说可能要改的地方多,但是正规军啊