• Vue 组件传值


    一、父子组件传值

     在引用组件中被引用组件为子组件

      1.父组件给子组件传值、传递方法、传递类

      在父组件中引用header子组件  <v-header  :homemsg="msg" :run='run' :home='this' ref='header'></v-header>

      :homemsg="msg"  //把父组件中的msg传给子组件     在子组件中用props["homemsg"]接收,然后就可以用{{homemsg}}给界面赋值

      :run='run'  run是一个方法,也可以把方法传给子组件    在子组件中用props["homemsg","run"]接收,然后就可以调用方法,亦可以在调用方法是传值给父组件的方法

       :home='this'  把整个类传过去,this代表当前组件  在子组件中可以用props["homemsg","run","home"]接受,然后可以通过this.home.run()  //值或者方法

          props可以用来获取也可以用来判断值的合法性  props{ 'homemsg':string,}  // 如果不是homemsg不是字符串类型也可以用,但是会打印提示报错

      2.父组件主动获取子组件数据或方法、子组件获取父组件的数据或方法

          调用子组件是定义一个ref <v-header ref='header'></v-header> 在父组件中通过 this.$refs.header.run() //方法或者数据

          子组件调用父组件的数据和方法用 this.$parent.msg //方法或者数据  

    二、非父子组建的传值

      1.首先新建一个空的vue实例  VueEvent.js 里的代码

        import vue from 'vue';

        var VueEvent = new vue();
        export default VueEvent;

      2.在需要通讯的两个组件中引入vue实例

        import VueEvent from "../model/VueEvent.js";
      3.广播和接收广播

      广播:  VueEvent.$emit('toxinwen',this.msg)

    接收广播: VueEvent.$on('toxinwen',function(data){

          console.log(data);
          });

     

  • 相关阅读:
    mysql 5.6
    mysql5.7 二进制包安装
    centos 6 编译安装httpd-2.4
    mysql 5.5源码包安装
    BZOJ4945 & 洛谷3825 & UOJ317:[NOI2017]游戏——题解
    BZOJ4943 & 洛谷3823 & UOJ315:[NOI2017]蚯蚓排队——题解
    BZOJ3435 & 洛谷3920 & UOJ55:[WC2014]紫荆花之恋
    BZOJ5343 & 洛谷4602 & LOJ2555:[CTSC2018]混合果汁——题解
    真·APIO2018滚粗记
    BZOJ4518:[SDOI2016]征途——题解
  • 原文地址:https://www.cnblogs.com/1711643472qq/p/9149797.html
Copyright © 2020-2023  润新知