新創(chuàng)建一個vue實(shí)例用于調(diào)度事件的綁定和發(fā)送
成都創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站制作、成都網(wǎng)站建設(shè)、白銀區(qū)網(wǎng)絡(luò)推廣、微信小程序開發(fā)、白銀區(qū)網(wǎng)絡(luò)營銷、白銀區(qū)企業(yè)策劃、白銀區(qū)品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;成都創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供白銀區(qū)建站搭建服務(wù),24小時服務(wù)熱線:028-86922220,官方網(wǎng)址:www.rwnh.cn
可以做到同級組件相互通訊,傳遞參數(shù),點(diǎn)擊第一個組件會修改第二個組件的label值,點(diǎn)擊第二個組件會修改第二個組件的label值
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <script src="vue.js"></script> </head> <body> <div id="app"> <one></one> <two></two> </div> </body> <script> // 使用一個vue實(shí)例 作為事件的載體,用于綁定事件和處理發(fā)送事件,作為調(diào)度中心 let eventBus = new Vue() let one = { template: '<div>{{val}} <button @click="click">click</button></div>', data() { return { val: 0 } }, created() { //為one綁定事件,如果two_click事件發(fā)生了,則執(zhí)行回調(diào)函數(shù) eventBus.$on('two_click', (val) => { // 這個this 指的是one的vue實(shí)例 this.val = val } ) }, methods: { click() { // 如果one被點(diǎn)擊了,則發(fā)送一個one_click的事件,并傳遞一個參數(shù) eventBus.$emit('one_click', 11) } } } let two = { template: '<div>{{val}} <button @click="click">click</button></div>', data() { return { val: 0 } }, created() { eventBus.$on('one_click', (val) => { this.val = val }) }, methods: { click() { eventBus.$emit('two_click', 22) } } } new Vue({ el: '#app', components: { one, two } }) </script> </html>
總結(jié)
以上所述是小編給大家介紹的vue 使用eventBus實(shí)現(xiàn)同級組件的通訊,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對創(chuàng)新互聯(lián)網(wǎng)站的支持!
網(wǎng)站名稱:vue使用eventBus實(shí)現(xiàn)同級組件的通訊
轉(zhuǎn)載注明:http://www.rwnh.cn/article2/jgpsoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、微信公眾號、云服務(wù)器、響應(yīng)式網(wǎng)站、搜索引擎優(yōu)化、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)