粗大的内捧猛烈进出小视频,日本成人精品视频一区,在线播放亚洲成人av,精品人妻少妇嫩草av专区,亚洲AV永久久久久久久浪潮,性导航app精品视频,九九热精品免费视频,一本一本大道香蕉久在线播放

        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.xintaizi.com

        存檔