zoukankan      html  css  js  c++  java
  • vue+elementUI项目,父组件向子组件传值,子组件向父组件传值,父子组件互相传值。

    vue+elementUI项目,父组件向子组件传值,子组件向父组件传值,父子组件互相传值。

    vue 父组件与子组件相互通信
    
    一、父组件给子组件传值
          props 实现父组件向子组件传值。
    1父组件里:
    <child-pack  :msg ="myMsg" v-on:listenTochildEvent="showMessageFromChild"></child-pack>
    msg是绑定的自定义属性,类似我们原生html 给标签自定义属性一样,Widget是传输变量
    <script >
    import childpack from './childPack.vue' //引用子组件
    export default{
      name: 'FatherPack',
      components: { childpack },
      data(){
          return(){
               myMsg:‘我是父组件参数’
           }
      },
      mothods:{
      }
    
    }
    </script>
     
    2子组件里:
    <div>
        <span>{{msg}}</span>
    </div>
    export default {
      name: 'ChildPack',
      props:["msg"]
     //也可以指定默认类型和默认值
     // props: {
     //    msg: {
     //       type: Number,
      //      default: 0
      //    }
     // },
      
      // isPublic: {
      //    type: Boolean,
      //    default: undefined  //注意!对于布尔类型,默认值不要写成false,否则isPublic永远为false。
      // }
      data(){
      },
      created() {
         console.log('child_msg',this.msg)
      },
      mothods:{
      },
    
    }
    
    二、子组件传值到父组件
    this.$emit() 实现子组件向父组件传值。
    
    1在子组件里:
    export default{
        methods: {
              changeFather(){
                 this.$emit("listenTochildEvent","我是子组件的参数");
              },
            //可以传递参数,参数可以是值、对象、数组等类型。
            //  changeFather(pms){ 
            //    this.$emit("listenTochildEvent",pms);
           //   },
    } } 
     
    
    2在父组件:定义事件listenTochildEvent,并实现showMessageFromChild方法,接收父组件传递来的参数。
    <child-pack  :msg ="myMsg" v-on:listenTochildEvent="showMessageFromChild"></child-pack>
    <script >
    import childpack from './childPack.vue' //引用子组件
    export default{
      name: 'FatherPack',
      components: { childpack },
      data(){
          return(){
               myMsg:‘我是父组件参数’
           }
      },
      mothods:{
         showMessageFromChild(data){
            console.log(data);
      }
    
    }
    </script>
     
    三、将一、二 一起使用就是可以实现父子组件互相传值。

      知识点:props 、$emit()

    参考来源: https://blog.csdn.net/github_37847992/article/details/78167337

    vue文档:http://doc.vue-js.com/v2/api/#vm-emit
    https://cn.vuejs.org/v2/guide/components-props.html#Prop-类型
     
  • 相关阅读:
    【待补充】Spark 集群模式 && Spark Job 部署模式
    Spark 集群管理命令
    Spark job 部署模式
    [Spark Core] Spark 核心组件
    [Spark RDD_1] RDD 基本概念
    【读书笔记】《天才在左 疯子在右》
    [Spark Core] Spark 使用第三方 Jar 包的方式
    [Spark Core] 在 Spark 集群上运行程序
    【待补充】[Spark Core] Spark 实现标签生成
    Spark 集群搭建
  • 原文地址:https://www.cnblogs.com/hao-1234-1234/p/10157063.html
Copyright © 2011-2022 走看看