.sync 修饰符

91 阅读1分钟

Vue 规则

  • 组件不能修改 props 外部数据
  • $emit 可以触发事件,并传参
  • event可以获取event 可以获取 emit 的参数

出现的情况

需要对一个 prop 进行“双向绑定”

  • 但是由此而来的“双向绑定”会有维护上的问题(例如父子组件都可以串改)
  • 推荐以update:myPropName的模式触发事件
this.$emit('update:title', newTitle)

方便起见,启用 .sync 修饰符

<text-document v-bind:title.sync="doc.title"></text-document>
  • 不能和表达式一起使用
  • 当一个子组件改变了一个 prop 的值时,这个变化也会同步到父组件中所绑定
  • .sync 是一个语法糖