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