文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Vue实现父子组件传值的方法是什么

2023-07-05 15:51

关注

这篇文章主要介绍了Vue实现父子组件传值的方法是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue实现父子组件传值的方法是什么文章都会有所收获,下面我们一起来看看吧。

父传子

通过 propsprops 就是用来接收来自父组件的数据的。

下图是大致的示意图。

Vue实现父子组件传值的方法是什么

代码实现

在父组件中引用子组件时,使用属性传值。

① 如果是简单的静态值可以不适用 v-bind<Child title="dataToChild" />

② 大多情况下时使用动态传值,使用 v-bind 即可。<Child :title="dataToChild" />

parent.vue

<template>  <Child title="dataToChild" /></template><script>import Child from './child' //引入子组件export default{  components: { Child },  data () {    return {      dataToChild: 'From Parent to Child'    }  }}</script>

子组件中使用 props 接收。

props 可以是对象或简单数组,并且可以对对象进行类型、默认值等高级配置

① 简单字符数组。就是简单列出要接收的数据的属性名,并不可以是对象数组。

props:[ 'data1', 'data2' ]

② 对象。

props:{   data1:{    type: String,     default: 'no data'  },  data2:{    type: Number,     default: 0,    required: true  }}

child.vue

<template>  <div class="children">    <div>来自父组件的值是:{{title}}</div>  </div></template><script>export default {  props: {    title: {      type: String, //接收值得类型      default: '父组件没传值' //配置默认值    }  },  //或者可以写成简单数组 props: ['title'],  data () {    return {}  }}</script>

父组件传值到子组件就是 vue 单向数据流的一般表现: 父级 prop 的更新会向下流动到子组件中,但是反过来则不行。

子传父

通过 v-on$emit

Vue实现父子组件传值的方法是什么

Vue中父子组件的关系可以总结为 prop 向下传递,事件向上传递。

父组件通过 prop 给子组件下发数据,子组件通过事件给父组件传递信息。

Vue实现父子组件传值的方法是什么

代码实现

在父组件中把定义事件绑定到子组件。

parent.vue

<template>  <div class="parent">    <Child @child="getChildData" />    <p>子组件传给父组件的值:{{dataFromChild}}</p>  </div></template><script>import Child from './Child'export default {  components: { Child },  data () {    return {      dataFromChild: ''    }  },  methods: {      getChildData (param) {      this.dataFromChild = param    }  }}</script>

在子组件中触发父组件中自定义的函数并传递参数

child.vue

<template>  <div class="child-parent">    <input type="text" v-model="toParent" />    <button @click="dataToParent">传值到父组件</button>  </div></template><script>export default {  data () {    return {      toParent: 'From Child to Parent'    }  },  methods: {    dataToParent () {      this.$emit('child', this.toParent)    }  }}</script>

关于“Vue实现父子组件传值的方法是什么”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Vue实现父子组件传值的方法是什么”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯