sync,同步的意思,vue中的.sync修饰符一般用在需要外部传参(props)的时候,其功能是当子组件的props值发生变化时,也会同步到父组件上所绑定。
子组件代码举例:
<template>
<div>
{{money}}
<button @click="$emit('update:money',money-100)">花钱</button>
</div>
</template>
<script>
export default{
props:['money'],
}
</script>
父组件代码举例:
<template>
<div>
{{total}}
<hr/>
<Child :money.sync="total"/>
</div>
</template>
<script>
import Child from 'Child.vue'
export default {
components:{Child},
data(){
return {total:10000}
},
}
</script>
值得注意的是这里的<Child :money.sync="total" />相当于<Child :mony="total" v-on:update:money="total = $event" >。
总而言之,子组件发布事件$emit(),父组件.sync对事件监听,当子组件props值发生改变,父组件里的值也会同步改变。