zoukankan      html  css  js  c++  java
  • 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连接的空闲时间超过8小时后 MySQL自动断开该连接解决方案
    WebAPI 用户认证防篡改实现HMAC(二)签名验证 AbsBaseAuthenticationAttribute--转
    Calling a Web API From a .NET Client (C#)
    http状态码有那些?分别代表是什么意思
    html 之表单,div标签等。。。。。。。
    mysql之视图,触发器,事务等。。。
    pymysql模块
    MySQL之IDE工具介绍及数据备份
    mysql老是停止运行该怎么解决
    前端基础之html
  • 原文地址:https://www.cnblogs.com/1711643472qq/p/9149797.html
Copyright © 2011-2022 走看看