Vue 父组件向子组件传值,传方法,传父组件整体

Posted chenyishi

tags:

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

父子组件传值

  1.父组件调用子组件时绑定属性,例如-> :title="title"
  2.子组件中在props中声明title:props:[‘title‘,‘msg‘]
  3.就可以在子组件中引用title
  Tips:避免父子组件传值时命名冲突

父子组件传方法方式一样
  1.父组件调用子组件时绑定属性,例如-> :run="run"
  2.子组件中props中声明run:props:[‘title‘,‘msg‘,‘run‘]
  3.子组件中的button引用run方法
  Tips:可将子组件的值,通过父组件的方法,传给父组件

可将父组件传给子组件
  1.父组件调用子组件时绑定属性,例如-> :home="this"
  2.子组件中props中声明home:props:[‘title‘,‘msg‘,‘run‘,‘home‘]
  3.可在子组件方法中调用home组件的属性与方法:this.home.run() this.home.title

子组件中可以可在props验证父组件传过来的值的类型。
props:{
title:String
}

示例代码:

<template>
<div id="home">
    <v-header :title=title :run=run :home=this></v-header>
    <h5>这是Home组件</h5>
</div>
</template>
<script>
import Header from "./Header.vue";
export default {
  data() {
    return {
      msg: "123",
      title: 12333
    };
  },
  components: {
    "v-header": Header
  },
  methods: {
    run(da) {
      alert(da);
    }
  }
};
</script>
<style>
</style>
<template>
<div id="home">
    <h2>这是Header组件</h2>
    {{title}}
    <button @click="run(‘123‘)">我来执行父组件传递过来的值</button>
    <button @click="getParent()">我来获取传递过来的父组件</button>
</div>
</template>
<script>
export default {
  data() {
    return {
      msg: "123"
    };
  },
  methods: {
    getParent() {
      console.log(this.home);
      console.log(this.home.title);
    }
  },
  props: ["title", "run", "home"]
};
</script>
<style>
</style>

 














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

vue父组件与子组件之间的传值

Vue2.0的三种常用传值方式父传子子传父非父子组件传值

vue父组件向子组件传的值怎么放进子组件的data里面

vue 子组件向父组件传值方法

vue 子组件向父组件传值方法

VUE_03 组件化思想全局|局部注册组件之间传值(父传子子传父兄弟传兄弟)匿名|具名|作用域插槽