子 => 親コンポーネントのパラメータを渡す
子コンポーネントは親コンポーネントのメソッドを呼び出します。
- 参照される子コンポーネントのイベントを親コンポーネントに登録します(このイベントの名前はカスタムです)
- サブコンポーネントはこのイベントをトリガーできます $emit('イベント名')
子コンポーネントから親コンポーネントにデータを渡す
- $emit メソッドの 2 番目のパラメーターは、子コンポーネントから親コンポーネントに渡されるコンテンツを定義できます。
- 親コンポーネントでこのコンテンツを取得する方法
2.1 親コンポーネントのメソッドにはカスタム パラメーターがありません。このパラメーターを親コンポーネントのメソッドに直接追加することで取得できます。 2.2 親コンポーネントには
カスタム パラメーターがあるため、イベントを取得するか、データが渡された子コンポーネントを取得します。サブコンポーネントによって渡されるデータは、イベントを通じて取得することもできます。合格イベントは、サブコンポーネントによって渡されたデータを取得することもできます。イベントを介して渡すことができるのは最初のパラメータのみです
<body>
<div id='app'>
<father></father>
</div>
<template id="father">
<div>
<input type="text" name="" id="" v-model="son_val">
<son @son_num="son_num_1"></son>
</div>
</template>
<template id="son">
<div>
<input type="text" v-model="num_val">
</div>
</template>
<script>
Vue.component('father', {
template: '#father',
data() {
return {
son_val: ''
}
},
methods: {
son_num_1(data) {
this.son_val = data
}
}
})
Vue.component('son', {
template: '#son',
data() {
return {
num_val: ''
}
},
methods: {
},
updated(){
this.$emit('son_num',this.num_val)
}
})
const vm = new Vue({
el: '#app',
data: {
},
methods: {
}
})
</script>
</body>