vue .sync不生效的坑


vue 2.3.0+ 新增了 .sync 修饰符,数据的双向绑定时,子组件通过this.$emit('自定义事件名(随意)', 要传给父组件的参数)

//子组件
this.$emit('modifyTitle', newTitle)

 

 

然后父组件中使用子组件可以监听那个事件并根据需要更新一个本地的数据 property。例如:

//父组件
<Child v-bind:title="doc.title" @modifyTitle="doc.title = $event" />

 

父组件中为了方便,可以使用.sync 修饰符来简写:

//子组件中的传值
//注意:第一个参数自定义事件名格式必须是: update:要更新的data【如果是更新对象的某个属性,那么只要写这个属性名(key)就好】
this.$emit('update:title', newTitle)

//父组件使用.sync字符
 <child :title.sync="doc.title" />

 

注意:带有 .sync 修饰符的 v-bind 不能和表达式一起使用 (例如 v-bind:title.sync=”doc.title + ‘!’” 是无效的)。取而代之的是,你只能提供你想要绑定的 property 名,类似 v-model

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM