Vue父子组件之间通信
1、父 -> 子。通过props
//father.vue <template> <div id="father"> <div><label>姓名</label><input type="text" v-model="name"/></div> </div> </template> <script> import child from './child' export default { data() { return { name: '' } }, components: { child } } </script> <style scoped> </style>
//child.vue <template> <div id="child"> <div>父组件传过来的值:{{msg}}</div> </div> </template> <script> export default { props: ['msg'] } </script> <style scoped> </style>
2、子 -> 父 通过emit事件触发父组件上的方法
//father.vue <template> <div id="father"> <div><label>姓名</label><input type="text" v-model="name"/></div> <div style="margin-top:20px"> <child :msg="name" @msgFt="fun"></child> </div> </div> </template> <script> import child from './child' export default { data() { return { name: '' } }, methods: { fun(val) { console.log(val) this.name = val } }, components: { child } } </script> <style scoped> </style>
//child.vue <template> <div id="child"> <div>父组件传过来的值:{{msg}}</div> <input type="text" v-model="name" /> <button type="button" @click="handle">传给父组件</button> </div> </template> <script> export default { props: ['msg'], data() { return { name: '' } }, methods: { handle() { this.$emit('msgFt',this.name) } } } </script> <style scoped> </style>