• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    vue實現的組件兄弟間通信功能示例

    來源:懂視網 責編:小采 時間:2020-11-27 22:02:59
    文檔

    vue實現的組件兄弟間通信功能示例

    vue實現的組件兄弟間通信功能示例:本文實例講述了vue實現的組件兄弟間通信功能。分享給大家供大家參考,具體如下: 兄弟組件間通信(event) 借助于一個公共的Vue的實例對象,不同的組件可以通過該對象完成事件的綁定和觸發 var bus = new Vue(); bus.$emit() bus.$on()
    推薦度:
    導讀vue實現的組件兄弟間通信功能示例:本文實例講述了vue實現的組件兄弟間通信功能。分享給大家供大家參考,具體如下: 兄弟組件間通信(event) 借助于一個公共的Vue的實例對象,不同的組件可以通過該對象完成事件的綁定和觸發 var bus = new Vue(); bus.$emit() bus.$on()

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

    兄弟組件間通信(event)

    借助于一個公共的Vue的實例對象,不同的組件可以通過該對象完成事件的綁定和觸發

    var bus = new Vue();
    
    bus.$emit()
    bus.$on()
    
    

    熊大想要發消息給熊二,

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

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

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

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

    練習:

    在熊二中 加上一個button,
    點擊按鈕時告訴熊大:'快跑!'

    接收方:事件綁定
    發送方:觸發事件

    <!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>
    /*借助于一個公共的Vue的實例對象,不同的組件可以通過該對象完成事件的綁定和觸發*/
    //new一個對象,兄弟間的通信,將借助他事件綁定和觸發來實現
     var bus = new Vue();
     //熊大發送消息給熊二
     //xiongda組件
     Vue.component("xiongda",{
     methods:{
     sendToXiongEr:function(){
     //給熊二發送消息
     //觸發msgToXiongEr事件
     bus.$emit("msgToXiongEr","哈哈,光頭強來了");
     }
     },
     template:`
     <div>
     <h1>我是熊大</h1>
     <button @click="sendToXiongEr">Click Me</button>
     </div>
     `
     })
    //熊二組件
     Vue.component("xionger",{
     template:`
     <div>
     <h1>我是熊二</h1>
     </div>
     `,
     mounted:function(){
    // 給該組件綁定一個自定義事件和對應的處理函數
     //調用bus中的on方法
     //事件的觸發一般是接收數據然后處理
     var that = this;
     bus.$on("msgToXiongEr",function(msg){
     alert("自定義的事件觸發,接收到的數據"+msg);
     })
     }
     })
     new Vue({
     el:"#container",
     data:{
     msg:"Hello VueJs"
     }
     })
     </script>
     </body>
    </html>
    
    

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

    改版:熊大在input輸入數據傳遞給熊二

    <!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>
    /*借助于一個公共的Vue的實例對象,不同的組件可以通過該對象完成事件的綁定和觸發*/
    //new一個對象,兄弟間的通信,將借助他事件綁定和觸發來實現
     var bus = new Vue();
     //熊大發送消息給熊二
     //xiongda組件
     Vue.component("xiongda",{
     data:function(){
     return {
     xiongDaInput:""
     }
     },
     methods:{
     sendToXiongEr:function(){
     //給熊二發送消息
     //觸發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(){
    // 給該組件綁定一個自定義事件和對應的處理函數
     //調用bus中的on方法
     //事件的觸發一般是接收數據然后處理
     var that = this;
     bus.$on("msgToXiongEr",function(msg){
     //alert("自定義的事件觸發,接收到的數據"+msg);
     that.recvMsgIs.push(msg);
     })
     }
     })
     new Vue({
     el:"#container",
     data:{
     msg:"Hello VueJs"
     }
     })
     </script>
     </body>
    </html>
    
    

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

    希望本文所述對大家vue.js程序設計有所幫助。

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    vue實現的組件兄弟間通信功能示例

    vue實現的組件兄弟間通信功能示例:本文實例講述了vue實現的組件兄弟間通信功能。分享給大家供大家參考,具體如下: 兄弟組件間通信(event) 借助于一個公共的Vue的實例對象,不同的組件可以通過該對象完成事件的綁定和觸發 var bus = new Vue(); bus.$emit() bus.$on()
    推薦度:
    標簽: VUE 實例 兄弟
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 欧美精品在线一区| 国产乱子伦精品无码专区| 久久这里只有精品久久| 一本一道久久a久久精品综合| 青青青国产精品国产精品久久久久| 亚洲av永久无码精品古装片| 国内精品久久久久久麻豆| 66精品综合久久久久久久| 99热精品在线观看| 久久精品国产亚洲精品2020| 真实国产乱子伦精品一区二区三区| 国产在线精品国自产拍影院| 欧美国产日韩精品| 国产精品久久久久9999高清| 国产美女精品一区二区三区| 亚洲AV午夜福利精品一区二区| 色哟哟国产精品免费观看| 精品人妻少妇一区二区| 国产精品午夜国产小视频| 四虎成人欧美精品在永久在线| 91麻豆精品视频| 99精品国产一区二区三区| 国产精品vⅰdeoxxxx国产| 国产午夜精品一区二区三区 | 国产乱人伦偷精品视频| 91麻豆精品国产91久久久久久| 九九精品成人免费国产片| 麻豆精品久久精品色综合| 老司机69精品成免费视频| 国产在线不卡午夜精品2021| 国产产无码乱码精品久久鸭| 国产精品高清一区二区三区| 精品久久8x国产免费观看| 精品国产精品国产偷麻豆 | 国产精品欧美日韩| 国产国产精品人在线视| 国产AV午夜精品一区二区入口| 97热久久免费频精品99| 99精品久久久久中文字幕| 91精品啪在线观看国产| 国产夫妇精品自在线|