父子组件传值的多种方法

Posted 火腿肠烧烤大赛冠军

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了父子组件传值的多种方法相关的知识,希望对你有一定的参考价值。

propsemit

<!-- 父组件 -->
<template>
    <div class="test">
      <test-com @childFn="parentFn"></test-com>
      <br/> 
      子组件传来的值 : message
    </div>
</template>

<script>
export default 
    // ...
    data: 
        message: ''
    ,
    methods: 
       parentFn(payload) 
        this.message = payload;
      
    

</script>
<!-- 子组件 -->
<template> 
<div class="testCom">
    <input type="text" v-model="message" />
    <button @click="click">Send</button>
</div>
</template>
<script>
export default 
    // ...
    data() 
        return 
          // 默认
          message: '我是来自子组件的消息'
        
    ,
    methods: 
      click() 
            this.$emit('childFn', this.message);
        
        

</script>

p a r e n t 和 parent和 parentchildren获取父子组件参数

$children[i].params

this.$parent.params

兄弟之间传值===Vuex

兄弟之间传值===eventBus

provide inject(用于层级很深的父子组件传参)

//父组件示例
<template>
  <div>
    <childCom></childCom>
  </div>
</template>
<script>
  import childCom from '../components/childCom'
  export default 
    name: "Parent",
    provide:       //重要一步,在父组件中注入一个变量
      msg: "demo"
    ,
    components:
      childCom
    



//子组件示例,这个不管嵌套了多少层,都能请求到父组件中注册的变量
<template>
  <div>
      msg
  </div>
</template>
<script>
  export default 
    name: "childCom",
    inject: ['msg'],//子孙组件中使用inject接住变量即可
  
</script>

以上是关于父子组件传值的多种方法的主要内容,如果未能解决你的问题,请参考以下文章

Vue-Cli—04.父子组件传值祖孙组件传值兄弟组件传值

父子组件传值的几种方式

Vue中父子组件之间相互传值的方法

父组件向孙子组件传值(Context)特性

12.组件化开发2-非父子组件之间通信-祖先和后代之间的通信

父子组件传值