zoukankan      html  css  js  c++  java
  • vue不同组件间的通信

      不同组件间通信可以通过新建一个对象充当通信对象来实现。

      1.新建一个对象A

        2.在组件B中引入A对象, A.$emit('addShopCart',5);  5是传给回调函数的参数。

      3.在组件C中引入A对象,A.$on('addShopCart',function(num){....})

        B组件中发出一个名叫addShopCart的包裹,包裹里装着机密数字5,C组件说出了包裹名'addShopCart',所以拿到了包裹,并且可以对数字五进行进一步的处理。

        具体代码如下

      1.新建一个名为connect.js的文件

    1 import Vue from 'vue';
    2 let connect = new Vue();
    3 export default connect;

            2.在组件B中引入A对象, A.$emit('addShopCart',5);

     1 import connect from '../common/connet.js'
     2     export default {
     3         data(){
     4             return {
     5                 num:1,                
     6             }
     7         },
     8         methods:{
     9             addShopCart(){
    10                 connect.$emit('addShopCart',this.num);           
    11             },
    12         },
    13     }

      3.在组件C中引入A对象,A.$on('addShopCart',function(num){....})

    import connect from './components/common/connet.js';
        export default{
            data(){
                return{
                   picNum:0,
                }
            },
            created(){
               connect.$on('addShopCart',num=>{
                   this.picNum += num;
               })
            },
        }
  • 相关阅读:
    #include <utility>
    Html的空格显示
    ExtJs自学教程(1):一切从API開始
    天黑的时候,我又想起那首歌
    citrix协议ICA技术原理
    约瑟夫环问题
    数据结构和算法设计专题之---八大内部排序
    HDU
    深入分析C++引用
    八大排序算法总结
  • 原文地址:https://www.cnblogs.com/sujianfeng/p/8915645.html
Copyright © 2011-2022 走看看