Vue2.0中子元件向父元件傳遞資料的方法,以完整demo演示
阿新 • • 發佈:2019-01-01
子元件child.vue原始碼:
解釋:點選button觸發sendData方法,sendData方法中使用this.$emit方法向父元件派發了一個childHadSend事件,第二個引數為需要傳遞的資料。<template> <div class="child"> <button @click="sendData">點擊向父元件傳資料</button> </div> </template> <script type="text/ecmascript-6"> export default { data() { return { msg: '子元件資料' } }, methods: { sendData() { this.$emit('childHadSend', this.msg) } } } </script> <style> </style>
父元件原始碼:
解釋:父元件接收到子元件派發的childHadSend方法,觸發了getData方法,並將this.childData設定為傳過來的data值,使得<p></p>中的值顯示為子元件資料。<template> <div id="app"> <child @childHadSend="getData"></child> <p>{{childData}}</p> </div> </template> <script type="text/ecmascript-6"> import Child from 'components/child/child' export default { data() { return { childData: '' } }, methods: { getData(data) { this.childData = data } }, components: { Child } } </script> <style> </style>
點選button後的執行結果: