介绍
- 因为Vue2规定组件不能修改props的外部数据,导致如果要进行组件与组件之间的数据绑定就必须要用到
$emint和$event来传参和获取参数,.sync就是把这个操作进行了简化
$emint
- 可以触发事件,并传参
$event
- 可以获取到
$emint传的参
.sync
-
使用起来说实话并不麻烦但是有一些代码工作量,由于这样的场景在实际开发中比较常见,所以Vue2让
.sync来代替$event做的事情。 -
如果要使用
,sync那么子组件的$emint必须把参数传给updata:内
//子组件
<div>
<button @click = @click="$emit('update:money', money - 100)">消费100元</button>
</div>
// 父组件
<子组件名 :money.sync = "total" />
<子组件名 :money = "total" v-on:update:money = "total = $event"/>
- 父组件的上下两行代码是等价的
需要注意
-
带有
.sync修饰符的v-bind不能和表达式一起使用 -
例如
v-bind : money.sync = " money + 100 "是无效的