zoukankan      html  css  js  c++  java
  • vue组件之间传值/调用方法的几种方式

    (一)父组件向子组件传值==props

    1.在父组件中使用子组件的地方绑定数据

    <children :message="message"></children
     
    2.子组件使用props接收父组件传过来的数据
    props:{
         message:String
    }

    3.示例:

    粘贴图片

    粘贴图片

    (二)子组件向父组件传值==$emit,也可以用来调用父组件中的方法

    1.子组件直接使用$emit将内部数据传递给父组件

    this.$emit("childByValue",this.childValue);
     
    2.父组件中接收数据
     
    <template>
         <child @childByVlaue="childByVlaue"></dhild>
    </template>
     
    methods:{
         childByValue:function(childValue){
              this.name=childValue;
         }
    }

    (三)可以通过$parent和$children获取父子组件参数

    $children[i].params

      

    this.$parent.params
    

      

    (四)兄弟之间传值===Vuex

    1.在state里定义数据和属性

     
    state: {
        userName: '',
      },
    

      

    2.在mutation里定义函数

    mutations: {
        setUserName(state, name) {
          state.userName = name
        },
    },
     

    3.设置值

    this.$store.comit('setUserName',params)
     
    4.获取值
    this.$store.state.user.userName
     

    (五)父组件调用子组件的方法===ref

    1.子组件的方法

    methods:{
         childMethod(){
              alert("我是子组件的方法");
         }
    }
     
    2.父组件调用子组件的方法
    <template>
         <child ref="child"></child>
         <div @click="parentMethod"></div>
    </template>
    methods:{
         parentMethod(){
              this.$refs.child.childMethod();
         }
    }
    

      

     
     
  • 相关阅读:
    逻辑运算(二)
    Rust基础类型
    Rust简单demo
    逻辑基础(一)
    webpack配置typescript项目
    Go并发原理
    JS实现取任意类型的数组交集并集方法的思考
    JS 可逆加密的一种实现
    所有中文复姓
    将中文姓名转为拼音英文名的一种实现
  • 原文地址:https://www.cnblogs.com/chenwan1218/p/13061139.html
Copyright © 2011-2022 走看看