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;
               })
            },
        }
  • 相关阅读:
    博客园博客备份
    前后端对字段去除首尾空白
    StringEscapeUtils类的转义与反转义方法
    validatebox自定义验证规则以及使用
    mybatis动态sql中的trim标签的使用
    异步IO
    tomcat_下载
    JDK__下载地址
    Eclipse_下载地址
    Linux守护进程
  • 原文地址:https://www.cnblogs.com/sujianfeng/p/8915645.html
Copyright © 2011-2022 走看看