1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
| <template> <div class="dvapp">
<h2>app组件</h2> <span>学生组件的姓名是:{{stuName}}</span> <Student v-on:customEvent="getStuName" title="v-on方式绑定自定义事件"></Student> <Student @customEvent="getStuName" title="@ 方式绑定自定义事件"></Student> <Student ref="stu" title="ref emit方式绑定自定义事件"></Student> </div> </template>
<script> import Student from './components/Student.vue'; export default { name: 'App', data() { return { stuName:'' } }, components: { Student }, methods: { getStuName(param) { console.log('param', param); this.stuName = param.name; } }, mounted() { this.$refs.stu.$on('customEvent',(param)=> { console.log('this.stu.$on', param); this.stuName = param.name; }) }, } </script>
<style> #app { font-family: Avenir, Helvetica, Arial, sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-align: center; color: #2c3e50; margin-top: 60px; } .dvapp { background-color: aquamarine; display: flex; justify-content: space-evenly; } </style>
|