子組件可以使用 $emit 觸發父組件的自定義事件。
子組件:
<template>
<div class="train-city">
<button @click='select()'></button>
</template>
<script>
export default {
props:['sendData'], // 用來接收父組件傳給子組件的數據
methods:{
select(val) {
this.$emit('change',1);//select事件觸發后,自動觸發父組件change事件
}
}
}
</script>
父組件:
<template>
<div>
<div>父組件的toCity{{toCity}}</div>
<aa @change="update" :sendData="name"></aa>
</div>
<template>
<script>
import aa from "./aa.vue";
export default {
data () {
return {
name:"北京"
}
},
methods:{
update(data){//觸發子組件
this.name = data.name;//改變了父組件的值
}
}
}
</script>
.sync修飾符
通過與$emit聯合使用,子組件可以修改父組件中用.sync修飾的值
父組件:
<comp :myMessage.sync="bar"></comp>
子組件:
this.$emit('update:myMessage',valc);