美文网首页前端交流
Vue中父子组件,爷孙组件传值

Vue中父子组件,爷孙组件传值

作者: 羽翼的翼 | 来源:发表于2020-09-27 16:57 被阅读0次

1. 父组件向子组件传值

步骤: 父组件中引入子组件、调用子组件并引用、在引用的标签上给子组件传值。

定义parent.vue父组件,向子组件传值

<template>
  <div>
    我是父组件
    <!-- 引入子组件 -->
    <child :hello="hello"></child>
  </div>
</template>
<script>
import child from "./components/child";

export default {
  components: {
    child
  },
  data() {
    return {
      hello: "你好,孩子"
    };
  }
};
</script>

子组件通过props来接受父组件传过来的值
定义child.vue子组件,并接收父组件传过来的值

<template>
  <div>
    我是孩子 这个父亲给我的{{ hello }}


  </div>
</template>
<script>


export default {
// 第一种方法接收
 //  props: ["hello"],
// 第二种接受方法
  props: {
    hello: {
      type: String, // 类型,还可以为Array,Object,Number等类型
      default: "" // 默认值 这里默认为空字符串
    }
  },
};
</script>

结果如下图


image.png

2. 爷孙组件传值

通过 provide / inject来进行爷孙组件的传值

建立grandSon.vue孙子文件,添加provide属性

  provide: {
    foo: "爷爷传递的 "
  },

修改parent组件如下

<template>
  <div>
    我是父组件
    <!-- 引入子组件 -->
    <child :hello="hello"></child>
  </div>
</template>
<script>
import child from "./components/child";

export default {
  provide: {
    foo: "爷爷传递的 "
  },
  components: {
    child
  },
  data() {
    return {
      hello: "你好,孩子"
    };
  }
};
</script>

建立grandSon.vue文件,通过inject接收爷爷传过来的值

<template>
  <div>{{ foo }}</div>
</template>
<script>
export default {
  inject: ["foo"],

  data() {
    return {};
  }
};
</script>

子组件 child.vue中引入grandSon.vue,child.vue最终如下

<template>
  <div>
    我是孩子 这个父亲给我的{{ hello }}

    <grand></grand>
  </div>
</template>
<script>
import grand from "./grandSon";

export default {
  //   props: ["hello"],
  props: {
    hello: {
      type: String,
      default: ""
    }
  },
  inject: ["foo"],

  components: {
    grand
  },
  data() {
    return {};
  }
};
</script>

最终效果如下


image.png

相关文章

  • (VUE3) 四、组件传值(父子组件传值 & 祖孙组件传值 &v

    1.父子组件传值 vue2中的父子组件传值:父组件: 子组件: vue3中的父子组件传值: 还是用props接收父...

  • Vue父子组件通信和双向绑定

    本篇文章主要介绍父子组件传值,组件的数据双向绑定。 1. 基础父子组件传值 父子组件传值,这是Vue组件传值最常见...

  • Vue中父子组件,爷孙组件传值

    1. 父组件向子组件传值 步骤: 父组件中引入子组件、调用子组件并引用、在引用的标签上给子组件传值。 定义pare...

  • vue中父子组件传值

    vue中父子组件传值是经常使用的场景 父组件向子组件中传值 父组件 子组件 父组件向子组件中传值分三步1、在父组件...

  • VUE组件(传值,生命周期)

    VUE生命周期 VUE子传父组件通信 VUE非父子组件传值

  • Vue组件之间的传值

    Vue父子组件之间的传值(props)兄弟组件 VUEX

  • 2019-03-13

    vue父子组件传值,(父组件向子组件传值用prop ,子组件向父组件传值:子组件调用父组件方法值以参数的方式传递)...

  • 2019-03-13

    vue父子组件传值,(父组件向子组件传值用prop ,子组件向父组件传值:子组件调用父组件方法值以参数的方式传递)...

  • VUE03

    Vue组件 组件的创建 组件的指令以及事件绑定 父子组件创建 父子组件通信 兄弟组件的传值 动态组件

  • vue2.0的三种常用传值方式,并且如何实现?

    vue2.0 组件传值方式有三种:父组件向子组件传值,子组件向父组件传值,非父子组件传值 : 父传子: 首先现在父...

网友评论

    本文标题:Vue中父子组件,爷孙组件传值

    本文链接:https://www.haomeiwen.com/subject/jddluktx.html