詳解vue中在父組件點(diǎn)擊按鈕觸發(fā)子組件的事件
我把這個(gè)實(shí)例分為幾個(gè)步驟解讀:
1、父組件的button元素綁定click事件,該事件指向notify方法2、給子組件注冊(cè)一個(gè)ref=“child”3、父組件的notify的方法在處理時(shí),使用了$refs.child把事件傳遞給子組件的parentMsg方法,同時(shí)攜帶著父組件中的參數(shù)msg 4、子組件接收到父組件的事件后,調(diào)用了parentMsg方法,把接收到的msg放到message數(shù)組中
父組件
<template> <div id='app'> <!--父組件--> <input v-model='msg' /> <button v-on:click='notify'>廣播事件</button> <!--子組件--> <popup ref='child'></popup> </div></template> <script>import popup from '@/components/popup';export default { name: 'app', data: function () { return { msg: '', }; }, components: { popup, }, methods: { notify: function () { if (this.msg.trim()) { this.$refs.child.parentMsg(this.msg); } }, },};</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;}</style>
子組件
<template> <div> <ul> <li v-for='item in messages'>父組件輸入了:{{ item }}</li> </ul> </div></template> <style>body { background-color: #ffffff;}</style> <script>export default { name: 'popup', data: function () { return { messages: [], }; }, methods: { parentMsg: function (msg) { this.messages.push(msg); }, },};</script>
到此這篇關(guān)于詳解vue中在父組件點(diǎn)擊按鈕觸發(fā)子組件的事件的文章就介紹到這了,更多相關(guān)vue 父組件觸發(fā)子組件內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. WML語(yǔ)言的基本情況2. JSP+Servlet實(shí)現(xiàn)文件上傳到服務(wù)器功能3. 利用CSS3新特性創(chuàng)建透明邊框三角4. 如何通過(guò)vscode運(yùn)行調(diào)試javascript代碼5. ASP中解決“對(duì)象關(guān)閉時(shí),不允許操作?!钡脑幃悊?wèn)題……6. 使用css實(shí)現(xiàn)全兼容tooltip提示框7. React優(yōu)雅的封裝SvgIcon組件示例8. 詳解盒子端CSS動(dòng)畫(huà)性能提升9. ASP.NET泛型三之使用協(xié)變和逆變實(shí)現(xiàn)類型轉(zhuǎn)換10. 利用CSS制作3D動(dòng)畫(huà)
