詳解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. ASP.NET MVC實(shí)現(xiàn)城市或車型三級(jí)聯(lián)動(dòng)2. IntelliJ IDEA設(shè)置條件斷點(diǎn)的方法步驟3. SSM框架JSP使用Layui實(shí)現(xiàn)layer彈出層效果4. IntelliJ IDEA導(dǎo)入jar包的方法5. Python利用百度地圖獲取兩地距離(附demo)6. 一篇文章弄清楚Ajax請(qǐng)求的五個(gè)步驟7. java基于spring boot本地上傳圖片示例解析8. ASP基礎(chǔ)入門第八篇(ASP內(nèi)建對(duì)象Application和Session)9. UTF8轉(zhuǎn)成GB2312亂碼問題解決方案10. 刪除docker里建立容器的操作方法
