Vue之組件的自定義事件詳解
<template> <div > <h2>{{msg}}</h2> <!-- 通過父組件給子組件傳遞函數類型的數據props實現:子給父傳遞數據 --> <School :getName="getName"/> <Student :getStudentname="getStudentname"/> <!-- 通過父組件給子組件綁定一個自定義事件:實現子給父傳遞數據 --> <Age v-on:elderSex="demo"/> <!-- 通過父組件給子組件綁定一個自定義事件實現:子給父傳遞數據(第二種寫法:使用ref) --> <!-- <Student ref="student"/> --> </div> </template> <script> import School from './components/School.vue' import Student from './components/Student.vue' import Age from './components/Age.vue' export default { name:'App', components:{ School,Student ,Age}, data(){ return { msg:'你好,世界!' } }, methods:{ getName(name){ console.log('App收到瞭名字',name); }, getStudentname(name1){ console.log('接收到瞭學生的姓名',name1); }, demo(sex1){ console.log( 'demo被調用瞭',sex1); } }, // mounted() { //綁定自定義事件 // this.$refs.student.$on('elderSex',this.schoolAge) //綁定自定義事件(一次性) // this.$refs.student.$once('elderSex',this.schoolAge) // }, } </script> <style scoped> </style>
<template> <div class="demo"> <h2>學生姓名:{{name}}</h2> <h2>學生年齡:{{age}}</h2> <button @click="sendStudentname">把學生的名字給APP</button> </div> </template> <script> export default { name: 'Student', props: ['getStudentname'], data() { return { name: '張三', age: 19 } }, methods: { sendStudentname() { this.getStudentname(this.name) } } } </script> <style> .demo { background-color: skyblue; } </style>
總結
本篇文章就到這裡瞭,希望能夠給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!