欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue 使用eventBus實(shí)現(xiàn)同級(jí)組件的通訊

 更新時(shí)間:2018年03月02日 10:31:03   作者:阿豪boy  
這篇文章主要介紹了vue 使用eventBus實(shí)現(xiàn)同級(jí)組件的通訊,需要的朋友可以參考下

新創(chuàng)建一個(gè)vue實(shí)例用于調(diào)度事件的綁定和發(fā)送

可以做到同級(jí)組件相互通訊,傳遞參數(shù),點(diǎn)擊第一個(gè)組件會(huì)修改第二個(gè)組件的label值,點(diǎn)擊第二個(gè)組件會(huì)修改第二個(gè)組件的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>
 // 使用一個(gè)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) => {
     // 這個(gè)this 指的是one的vue實(shí)例
     this.val = val
    }
   )
  },
  methods: {
   click() {
    // 如果one被點(diǎn)擊了,則發(fā)送一個(gè)one_click的事件,并傳遞一個(gè)參數(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)同級(jí)組件的通訊,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

最新評(píng)論