日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

vue2.0 组件通信

發布時間:2024/4/13 vue 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue2.0 组件通信 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

組件通信:
    子組件要想拿到父組件數據 props
    子組件不允許直接給父級的數據, 賦值操作如果想更改,父組件每次穿一個對象給子組件,
    對象之間引用。

    例子:
      <script>
        window.οnlοad=function(){
            new Vue({
              el:'#box',
              data:{
                giveData:{
                    a:'我是父組件數據'
                  }
                },
              components:{
                'child-com':{
                  props:['msg'],
                  template:'#child',
                  methods:{
                      change(){
                   
                        this.msg.a='被改了';
                        }
                      }  
                    }
                  }
                 });
              };
      </script>
      <template id="child">
          <div>
            <span>我是子組件</span>
            <input type="button" value="按鈕" @click="change">
            <strong>{{msg.a}}</strong>
          </div>
      </template>

      <div id="box">
          父級: ->{{giveData.a}}
        <br>
        <child-com :msg="giveData"></child-com>
      </div>


  例子:自定義事件

    

  <script>
    //準備一個空的實例對象
    var Event=new Vue();

      var A={
          template:`
                <div>
                  <span>我是A組件</span> -> {{a}}
                  <input type="button" value="把A數據給C" @click="send">
                </div>
`              ,
              methods:{
                  send(){
                      Event.$emit('a-msg',this.a);
                }
          },
          data(){
              return {
                a:'我是a數據'
              }
            }
        };
      var B={
            template:`
                  <div>
                      <span>我是B組件</span> -> {{a}}
                      <input type="button" value="把B數據給C" @click="send">
                  </div>
              `,
            methods:{
                send(){
                    Event.$emit('b-msg',this.a);
                }
            },
          data(){
            return {
                a:'我是b數據'
              }
          }
        };
      var C={
        template:`
              <div>
                <h3>我是C組件</h3>
                <span>接收過來的A的數據為: {{a}}</span>
                <br>
                <span>接收過來的B的數據為: {{b}}</span>
              </div>
            `,
            data(){
              return {
                  a:'',
                  b:''
                }
             },
          mounted(){
                //var _this=this;
                //接收A組件的數據
                Event.$on('a-msg',function(a){
                      this.a=a;
                }.bind(this));

                //接收B組件的數據
                Event.$on('b-msg',function(a){
                      this.b=a;
                  }.bind(this));
                }
            };


        window.οnlοad=function(){
              new Vue({
                  el:'#box',
                  components:{
                        'com-a':A,
                        'com-b':B,
                        'com-c':C
                  }
              });
        };
    </script>

<body>
   <div id="box">
      <com-a></com-a>
      <com-b></com-b>
      <com-c></com-c>
  </div>
</body>

轉載于:https://www.cnblogs.com/nmxs/p/6831418.html

總結

以上是生活随笔為你收集整理的vue2.0 组件通信的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。