最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue實(shí)現(xiàn)的組件兄弟間通信功能示例

 更新時(shí)間:2018年12月04日 12:01:33   作者:匿名的girl  
這篇文章主要介紹了vue實(shí)現(xiàn)的組件兄弟間通信功能,結(jié)合實(shí)例形式分析了vue兄弟組件間通信的原理與相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了vue實(shí)現(xiàn)的組件兄弟間通信功能。分享給大家供大家參考,具體如下:

兄弟組件間通信(event)

借助于一個(gè)公共的Vue的實(shí)例對(duì)象,不同的組件可以通過該對(duì)象完成事件的綁定和觸發(fā)

var bus = new Vue();

bus.$emit()
bus.$on()

熊大想要發(fā)消息給熊二,

接收方(熊二):事件綁定

bus.$on('customEvent',function(msg){
//msg就是通過事件 傳遞來的數(shù)據(jù)
})

發(fā)送方(熊大):觸發(fā)事件

bus.$emit('customEvent',123);

練習(xí):

在熊二中 加上一個(gè)button,
點(diǎn)擊按鈕時(shí)告訴熊大:'快跑!'

接收方:事件綁定
發(fā)送方:觸發(fā)事件

<!doctype html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
  <script src="https://cdn.bootcss.com/vue/2.0.1/vue.min.js"></script>
 </head>
 <body>
 <div id="container">
    <p>{{msg}}</p>
    <xiongda></xiongda>
    <hr>
    <xionger></xionger>
  </div>
  <script>
/*借助于一個(gè)公共的Vue的實(shí)例對(duì)象,不同的組件可以通過該對(duì)象完成事件的綁定和觸發(fā)*/
//new一個(gè)對(duì)象,兄弟間的通信,將借助他事件綁定和觸發(fā)來實(shí)現(xiàn)
  var bus = new Vue();
  //熊大發(fā)送消息給熊二
    //xiongda組件
    Vue.component("xiongda",{
      methods:{
        sendToXiongEr:function(){
        //給熊二發(fā)送消息
        //觸發(fā)msgToXiongEr事件
          bus.$emit("msgToXiongEr","哈哈,光頭強(qiáng)來了");
        }
      },
      template:`
        <div>
          <h1>我是熊大</h1>
          <button @click="sendToXiongEr">Click Me</button>
        </div>
      `
    })
//熊二組件
    Vue.component("xionger",{
      template:`
        <div>
          <h1>我是熊二</h1>
        </div>
      `,
      mounted:function(){
//      給該組件綁定一個(gè)自定義事件和對(duì)應(yīng)的處理函數(shù)
        //調(diào)用bus中的on方法
        //事件的觸發(fā)一般是接收數(shù)據(jù)然后處理
        var that = this;
          bus.$on("msgToXiongEr",function(msg){
            alert("自定義的事件觸發(fā),接收到的數(shù)據(jù)"+msg);
          })
      }
    })
    new Vue({
      el:"#container",
      data:{
        msg:"Hello VueJs"
      }
    })
  </script>
 </body>
</html>

使用在線HTML/CSS/JavaScript代碼運(yùn)行工具http://tools.jb51.net/code/HtmlJsRun測試,可得到如下運(yùn)行效果:

改版:熊大在input輸入數(shù)據(jù)傳遞給熊二

<!doctype html>
<html>
 <head>
 <meta charset="UTF-8">
 <title></title>
  <script src="https://cdn.bootcss.com/vue/2.0.1/vue.min.js"></script>
 </head>
 <body>
 <div id="container">
    <p>{{msg}}</p>
    <xiongda></xiongda>
    <hr>
    <xionger></xionger>
  </div>
  <script>
/*借助于一個(gè)公共的Vue的實(shí)例對(duì)象,不同的組件可以通過該對(duì)象完成事件的綁定和觸發(fā)*/
//new一個(gè)對(duì)象,兄弟間的通信,將借助他事件綁定和觸發(fā)來實(shí)現(xiàn)
  var bus = new Vue();
  //熊大發(fā)送消息給熊二
    //xiongda組件
    Vue.component("xiongda",{
      data:function(){
        return {
          xiongDaInput:""
        }
      },
      methods:{
        sendToXiongEr:function(){
        //給熊二發(fā)送消息
        //觸發(fā)msgToXiongEr事件
          bus.$emit("msgToXiongEr",this.xiongDaInput);
          this.xiongDaInput = "";
        }
      },
      template:`
        <div>
          <h1>我是熊大</h1>
          <input type="text" v-model="xiongDaInput"/>
          <button @click="sendToXiongEr">Click Me</button>
        </div>
      `
    })
//熊二組件
    Vue.component("xionger",{
      data:function(){
        return{
          recvMsgIs:[]
        }
      },
      template:`
        <div>
          <h1>我是熊二</h1>
          <p v-for="tmp in recvMsgIs">{{tmp}}</p>
        </div>
      `,
      mounted:function(){
//      給該組件綁定一個(gè)自定義事件和對(duì)應(yīng)的處理函數(shù)
        //調(diào)用bus中的on方法
        //事件的觸發(fā)一般是接收數(shù)據(jù)然后處理
        var that = this;
          bus.$on("msgToXiongEr",function(msg){
            //alert("自定義的事件觸發(fā),接收到的數(shù)據(jù)"+msg);
              that.recvMsgIs.push(msg);
          })
      }
    })
    new Vue({
      el:"#container",
      data:{
        msg:"Hello VueJs"
      }
    })
  </script>
 </body>
</html>

感興趣的朋友還可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具http://tools.jb51.net/code/HtmlJsRun測試上述代碼的運(yùn)行效果。

希望本文所述對(duì)大家vue.js程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • vue 使用 sortable 實(shí)現(xiàn) el-table 拖拽排序功能

    vue 使用 sortable 實(shí)現(xiàn) el-table 拖拽排序功能

    這篇文章主要介紹了vue 使用 sortable 實(shí)現(xiàn) el-table 拖拽排序功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • vue-router重定向和路由別名的使用講解

    vue-router重定向和路由別名的使用講解

    今天小編就為大家分享一篇關(guān)于vue-router重定向和路由別名的使用講解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • vuex新手進(jìn)階篇之取值

    vuex新手進(jìn)階篇之取值

    Vuex 是一個(gè)專為 Vue.js 應(yīng)用程序開發(fā)的狀態(tài)管理模式,下面這篇文章主要給大家介紹了關(guān)于vuex新手進(jìn)階篇之取值的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • vue實(shí)現(xiàn)導(dǎo)航收縮框

    vue實(shí)現(xiàn)導(dǎo)航收縮框

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)導(dǎo)航收縮框,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • VUE引入使用G2圖表的實(shí)現(xiàn)

    VUE引入使用G2圖表的實(shí)現(xiàn)

    本文主要介紹了VUE引入使用G2圖表的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 示例vue 的keep-alive緩存功能的實(shí)現(xiàn)

    示例vue 的keep-alive緩存功能的實(shí)現(xiàn)

    這篇文章主要介紹了示例vue 的keep-alive緩存功能的實(shí)現(xiàn),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-12-12
  • Vue實(shí)現(xiàn)push數(shù)組并刪除的例子

    Vue實(shí)現(xiàn)push數(shù)組并刪除的例子

    今天小編就為大家分享一篇Vue實(shí)現(xiàn)push數(shù)組并刪除的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • 關(guān)于Vue3中的響應(yīng)式原理

    關(guān)于Vue3中的響應(yīng)式原理

    這篇文章主要介紹了關(guān)于Vue3中的響應(yīng)式原理,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • vue3與elementui封裝一個(gè)便捷Loading

    vue3與elementui封裝一個(gè)便捷Loading

    這篇文章主要介紹了vue3與elementui封裝一個(gè)便捷Loading,,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • Vue分頁組件實(shí)現(xiàn)過程詳解

    Vue分頁組件實(shí)現(xiàn)過程詳解

    Web應(yīng)用程序中資源分頁不僅對(duì)性能很有幫助,而且從用戶體驗(yàn)的角度來說也是非常有用的。在這篇文章中,將了解如何使用Vue創(chuàng)建動(dòng)態(tài)和可用的分頁組件
    2022-12-12

最新評(píng)論

灌阳县| 承德县| 遂溪县| 万宁市| 偃师市| 新乡县| 丹寨县| 疏勒县| 抚顺市| 泊头市| 伊金霍洛旗| 武义县| 桂阳县| 山阳县| 荣昌县| 巴马| 开远市| 彰化市| 沙雅县| 晋州市| 嘉荫县| 卓尼县| 教育| 客服| 刚察县| 永平县| 宜昌市| 抚松县| 揭阳市| 永顺县| 鹤壁市| 任丘市| 黔西县| 汉川市| 大连市| 巴塘县| 临沂市| 安龙县| 鄂托克前旗| 隆昌县| 盘锦市|