<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • vue非父子組件間的傳值

          2020-3-18    前端達人

          vue非父子組件傳值的基本語法

          創建一個新的vue對象
          var newvue = new Vue()
          
              
          觸發事件
          newvue.$emit('自定義事件名', 參數)
          
              
          監聽事件
          newvue.on('自定義事件名', 觸發方法名)
              
          銷毀事件
          newvue.off('自定義事件名')

          案例

          放在html頁面上即可顯示,注意要引入vue

          <!DOCTYPE html>
          <html lang="en">
          <head>
            <meta charset="UTF-8">
            <title>Document</title>
          </head>
          <body>
            <div id="app">
              <div>父組件</div>
              <div>
                <button @click='handle'>銷毀事件</button>
              </div>
              <test-tom></test-tom>
              <test-jerry></test-jerry>
            </div>
            <script type="text/javascript" src="js/vue.js"></script>
            <script type="text/javascript">
              /*
                兄弟組件之間數據傳遞
              */
              // 提供事件中心
              var hub = new Vue();
          
              Vue.component('test-tom', {
                data: function(){
                  return {
                    num: 0
                  }
                },
                template: `
                  <div>
                    <div>TOM:{{num}}</div>
                    <div>
                      <button @click='handle'>點擊</button>
                    </div>
                  </div>
                `,
                methods: {
                  handle: function(){
                    hub.$emit('jerry-event', 2);
                  }
                },
                mounted: function() {
                  // 監聽事件
                  hub.$on('tom-event', (val) => {
                    this.num += val;
                  });
                }
              });
              Vue.component('test-jerry', {
                data: function(){
                  return {
                    num: 0
                  }
                },
                template: `
                  <div>
                    <div>JERRY:{{num}}</div>
                    <div>
                      <button @click='handle'>點擊</button>
                    </div>
                  </div>
                `,
                methods: {
                  handle: function(){
                    // 觸發兄弟組件的事件
                    hub.$emit('tom-event', 1);
                  }
                },
                mounted: function() {
                  // 監聽事件
                  hub.$on('jerry-event', (val) => {
                    this.num += val;
                  });
                }
              });
              var vm = new Vue({
                el: '#app',
                data: {
          
                },
                methods: {
                  handle: function(){
                    hub.$off('tom-event');
                    hub.$off('jerry-event');
                  }
                }
              });
            </script>
          </body>
          </html>
          
          ————————————————
          版權聲明:本文為CSDN博主「溫柔的堅持」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
          原文鏈接:https://blog.csdn.net/weixin_43745003/article/details/104919633

          
          


          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.sdgs6788.com

          存檔

          久久国产欧美日韩精品| 精品国产婷婷久久久| 午夜精品久久久久久中宇| 久久国产欧美日韩精品| 精品免费久久久久国产一区| 精品一二三区久久aaa片| 国产欧美久久久精品| 国产精品久久久久久久app | 久久精品国产精品亚洲精品| 精品久久一区二区| 亚洲国产成人久久综合碰| 久久精品成人免费网站| 亚洲AV无码久久精品蜜桃| 久久国产精品免费| 色综合久久天天综合| 久久免费的精品国产V∧| 综合久久精品色| 久久笫一福利免费导航 | 亚洲国产精品高清久久久 | 久久久久久久亚洲Av无码| 久久精品中文字幕大胸| 久久精品成人欧美大片 | 日韩AV无码久久一区二区 | 国内精品久久久久久99蜜桃| 久久精品免费一区二区| 香蕉久久影院| 亚洲国产视频久久| 青青草国产97免久久费观看| 久久天天躁狠狠躁夜夜av浪潮| 青青国产成人久久91网 | 久久夜色精品国产亚洲| 日韩中文久久| 性做久久久久久久久浪潮| 亚洲乱码日产精品a级毛片久久| 亚洲欧美另类日本久久国产真实乱对白| 91久久精品91久久性色| 国产精品欧美久久久天天影视| 一本一道久久精品综合| 66精品综合久久久久久久| 精品免费久久久久国产一区| 亚洲第一永久AV网站久久精品男人的天堂AV|