广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >浅谈Vue3 父子传值
  • 180
分享到

浅谈Vue3 父子传值

2024-04-02 19:04:59 180人浏览 泡泡鱼
摘要

目录父传子:1、 在父组件的子组件标签上通过 :传递到子组件的数据名="需要传递的数据"2、子组件依旧通过 props 来接收并且在模版中使用子传父:总结父传子: 1、 在父组件的子

父传子:

1、 在父组件的子组件标签上通过 :传递到子组件的数据名="需要传递的数据"

在这里为了大家区分我将父组件中的数据定义为 : fatherData  ,

子组件需要接收的数据定义为: sonData 。


// 父组件
<template>
  <div class="about">
    {{fatherData}}
    <!-- 父传子 -->
    <!-- 1、 在父组件的子组件标签上通过 :传递到子组件的数据名="需要传递的数据" -->
    <children :sonData="fatherData"></children>
  </div>
</template>
 
<script>
import children from "@/components/children"
import { defineComponent,Reactive,toRefs } from "Vue";
export default defineComponent({
  components:{
    children,
  },
name:"about",
setup(){
  const state = reactive({
    fatherData:"hello"
  })
  return {
    ...toRefs(state)
  }
}
 
})
</script>

2、子组件依旧通过 props 来接收并且在模版中使用

那么大多数情况下都会去通过父组件传递到子组件中的数据,根据这个数据去做一些特定的功能或者请求数据等等。

在 setup 钩子中第一个参数 props 就可以访问到父组件传递的数据,那么在函数中也是通过:  props.父组件传递数据的名称   来操作该数据。

setup函数接收props作为其第一个参数,props对象是响应式的(单向的父—>子),watchEffect或watch会观察和响应props的更新。不要对props对象进行解构,那样会失去响应性。在开发过程中,props对象对用户空间代码时不可变的,用户尝试修改props时会触发警告。


// 子组件
<template>
  <div class="children">
    <!-- 3、在子组件模版中使用 -->
    {{sonData}}
  </div>
</template>
<script>
export default {
name:"Children",
// 2、子组件通过 props 来接收
  props:["sonData"],
  setup(props){
    function childrenbut(){
      // props.sonData  可以访问到父组件传递的数据
      console.log(props.sonData);
    }
    return {
      childrenbut
    }
  }
}
</script>

子传父:

1、子组件触发事件通过 setup 的第二个参数 context.emit 来实现子传父 

context 上下文对象。


// 子组件
<template>
  <div class="children">
    {{sonData}}
    <!-- 1、触发事件 -->
    <button @click="childrenbut">子组件按钮</button>
  </div>
</template>
<script>
export default {
name:"Children",
  setup(props,context){
    function childrenbut(){
      console.log(context);
      // 2、通过context.emit 实现子传父
      // 第一个参数为 方法名,第二个参数为 需要传递的数据
      context.emit("change",'world')
    }
    return {
      childrenbut,
    }
  }
}
</script>

context 也可以使用结构的形式这样写


// 子组件
<script>
export default {
name:"Children",
  // 通过结构 之后直接写 emit {emit}
  setup(props,{emit}){
    function childrenbut(){
      // 省去 context.emit
      emit("change",'world')
    }
    return {
      childrenbut,
    }
  }
}
</script>

总结

vue3 中无论是父传子还是子传父其实与 vue2 中都相差无几,

思想大多一样,不一样的是 vue3 需要通过调用各种各样的钩子来实现传参

--结束END--

本文标题: 浅谈Vue3 父子传值

本文链接: https://www.lsjlt.com/news/154379.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 浅谈Vue3 父子传值
    目录父传子:1、 在父组件的子组件标签上通过 :传递到子组件的数据名="需要传递的数据"2、子组件依旧通过 props 来接收并且在模版中使用子传父:总结父传子: 1、 在父组件的子...
    99+
    2022-11-12
  • 浅谈父子组件传值问题
    目录一、问题描述二、问题解决一、问题描述 想要搭建一个模型检验的页面,在点击按钮“开始检测”后,后端会获取相应数据、页面跳转并进行渲染。 主要涉及三个页面:i...
    99+
    2023-05-14
    Vue父子组件传值 Vue父子组件 Vue.js父子组件传值
  • vue3父子组件传值中props使用细节浅析
    目录setup函数的参数一、父组件要给子组件传值时,可以通过props来完成组件的通信二、子组件给父组件传值总结setup函数的参数 它主要有两个参数: 第一个参数:props :父...
    99+
    2022-11-13
  • vue3 父子组件传值详解
    现在距离vue3的诞生已经过了很长时间了,笔者也是近期才开始学习vue3。对比vue2来看,vue3在写法发生了不小的变化,最典型的例子就是vue3通过ref,或者reactive实...
    99+
    2022-11-12
  • vue父子传值,兄弟传值,子父传值详解
    目录一、父组件向子组件传值1.父组件.vue2.子组件.vue二、兄弟组件间传值还可以通过中间件Bus1.A组件.js2.B组件.js三、子组件向父组件传值1.父组件.js2.子组件...
    99+
    2022-11-12
  • vue3中非父子组件如何传值
    小编给大家分享一下vue3中非父子组件如何传值,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!vue2中非父子组件的传值主要是通过事件总线,创建一个vue实例,通过在不同的组件中导入该实例来实现非父子组件之间的通信行为。vu...
    99+
    2023-06-22
  • 如何理解vue父子传值,兄弟传值,子父传值
    本篇内容主要讲解“如何理解vue父子传值,兄弟传值,子父传值”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何理解vue父子传值,兄弟传值,子父传值”吧!一、父组件向子组件传值1.父组件.vue...
    99+
    2023-06-25
  • vue3 父子组件间相互传值方式
    目录vue3父子组件相互传值父向子传值子组件向父组件传值vue3父子组件传值的注意事项解决办法:两种vue3父子组件相互传值 父向子传值 父 <pie-chart :pieDa...
    99+
    2022-11-13
  • 详解vue3中的非父子组件传值
    目录App.vuesub1.vuesub2.vue总结 vue2中非父子组件的传值主要是通过事件总线,创建一个vue实例,通过在不同的组件中导入该实例来实现非父子组件之间的通信行...
    99+
    2022-11-12
  • Vue父传子、子传父及非父子传值方式怎么实现
    这篇“Vue父传子、子传父及非父子传值方式怎么实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Vue父传子、子传父及非父子...
    99+
    2023-07-04
  • 浅析Vue中父子组件间怎么通信(父传子|子传父)
    1、父组件传递给子组件⭐⭐父组件传递给子组件:通过props属性;【相关推荐:vuejs视频教程、web前端开发】子组件传递给父组件:通过$emit触发事件;  这里我们知道,父组件有一些数据需要子组件来进行展示,那我们可以通过props来...
    99+
    2022-11-22
    组件通信 组件 Vue
  • 浅谈Java父子类加载顺序
    先上桌结论,优先被加载的顺序如下: 父类静态成员变量 > 父类静态代码块 > 子类静态成员变量 > 子类静态代码块 > 父类非静态成员变量 > 父类非...
    99+
    2022-11-12
  • Vue常用传值方式、父传子、子传父及非父子的示例分析
    这篇文章主要为大家展示了“Vue常用传值方式、父传子、子传父及非父子的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue常用传值方式、父传子、子传父及...
    99+
    2022-10-19
  • uniapp组件传值的方法(父传子,子传父,对象传值)实战案例
    目录前言父组件给子组件传值子组件给父组件传值父组件给父组件传对象值总结 前言 最近看到uniapp组件传值的方法,这里记录一下,学过vue的应该都觉得很简单,传值的方法基本...
    99+
    2023-03-01
    uniapp 组件传值 uniapp如何使用组件的值 uniapp组件传值实例
  • 一文浅析Vue中父子组件间传值问题
    vue父子组件之间怎么传值?下面本篇文章带大家了解一下Vue中父组件以及子组件传值问题,希望对大家有所帮助!前言:在一些页面中不单单的纯纯的一个vue文件,vue讲究组件化开发,但是一般的肯定会产生交互事件,今天了解了这个传值,特此的来记录...
    99+
    2023-05-14
    组件传值 vue组件传值 Vue
  • vue3父组件和子组件如何传值实例详解
    目录1.父组件打开子组件的的dialog组件 2.父组件关闭子组件的的dialog组件3.开始运用: 用户的增加修改操作1.父组件的修改 2.子组件的修改3.父组...
    99+
    2022-11-13
    vue3 父子组件传值 vue3子组件给父组件传值 vue3.0父子组件传值
  • Vue3中怎么修改父组件传递到子组件中的值
    这篇文章主要介绍了Vue3中怎么修改父组件传递到子组件中的值的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Vue3中怎么修改父组件传递到子组件中的值文章都会有所收获,下面我们一起来看看吧。自定义组件上使用v-m...
    99+
    2023-07-06
  • vue3的父传子问题(单项数据流)
    目录vue3父传子(单项数据流)vue3 父子传参 简单易懂父传子子传父vue3父传子(单项数据流) 父组件通过属性绑定传递数据  子组件内部通过props接收数据&n...
    99+
    2023-01-16
    vue3父传子 vue3单项数据流 vue3数据流
  • Angular父子组件间怎么传值
    小编给大家分享一下Angular父子组件间怎么传值,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Angular中父子组件传值官方地址:https://angula...
    99+
    2023-06-14
  • vue父子组件间如何传值
    本文小编为大家详细介绍“vue父子组件间如何传值”,内容详细,步骤清晰,细节处理妥当,希望这篇“vue父子组件间如何传值”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。父组件传递方法首先,在Vue中父组件向子组件传...
    99+
    2023-07-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作