当前位置: 首页 > news >正文

vue父子组件传值:父传子、子传父

最近项目中又需要用到父子组件,用了很多次之后对父子组件终于有种从善如流的感觉。会了之后再看自己写的父子组件传值的文章,感觉还是存在很多问题的,问题就不改了,在这篇文章做个总结和纠正吧。

父子组件就是在一个vue文件中引入另一个vue文件。被引入的vue文件是子组件,引入vue文件的vue文件是父组件。

1.父组件引入子组件

import引入,components调用。

import ZwFjdjForm from '../../../specialbond/modules/ZwFjdjForm'
components: {
      ZwFjdjForm
    },

 在需要调用子组件的地方调用

<ZwFjdjForm ref="ZwFjdjForm" :currentId="currentId" :canModify="canModify" ></ZwFjdjForm>

 这样子组件就被成功调用了。但是在很多情况下,我们需要父子组件互相传值

2.父组件给子组件传值

父组件 在引用子组件时,通过属性绑定(v-bind:)的形式,把需要传递给子组件的数据,传递到子组件内部,供子组件使用 。

:子组件接收父组件数据的元素="父组件传递的值"

 这样,父组件中的数据,就成功传给子组件了。

3.子组件接收父组件传来的值

在之前的文章中,我说的是使用props接收,如下格式。

 

 这个格式是可以使用的。但是后来我说过一个问题,遇到一个项目,需要调用子组件,而我需要在子组件里调用方法。之前想的是只传id,id传过去之后在子组件调用方法。当时是失败了,结论是子组件会在页面加载之前调用,所以后来是把方法写在父组件了。

这次遇到的也是一样的问题,但是这次成功了。

子组件是这样接收父组件的值的。

props:['canModify','currentId'],

 这样是可以把id传给子组件,子组件再调用接口的,不太懂两者有什么区别。

4.子组件将值传给父组件

使用this.$emit('方法名',准备传给父组件的值)直接传

this.$emit('startDateChange',mode)//向父级组件传递参数

5.父组件接收子组件传来的值

调用方法接收

<a-tab-pane tab="基本情况" :key="refKeys[0]" :forceRender="true">
  <zw-mhk-zxzq-jbqk-form ref="zwMhkZxzqJbqkForm" :canModify="canModify" @startDateChange="startDateChange" ></zw-mhk-zxzq-jbqk-form>
</a-tab-pane>
startDateChange(data){
  this.changedStartDate = data
}

这样父组件就取到了子组件传来的值

6.父组件直接调用子组件的方法

startDateChange(data){
  this.$refs.zwMhkZxzqSzysForm.getDate(data)
},

直接$refs.子组件.子组件的方法

关于父子组件的内容,在这里也算做了个完善了,希望以后父子组件不要再出现问题了。

 之前写的父子组件传值文章:

vue父子组件传值_芝士焗红薯的博客-CSDN博客_父子组件传值

相关文章:

  • 使用花生壳做内网穿透
  • 基于SSM的学生宿舍管理系统
  • 第二章第六节 ST图与迭代优化
  • Kotlin(九)类、属性、构造函数
  • Java 八股文能不背吗?Java 面试都只是背答案吗?
  • [CC2642R1][VSCODE+Embedded IDE+IAR Build+Cortex-Debug] TI CC2642R1基于VsCode的开发环境
  • JS垃圾回收与内存泄漏
  • MySQL数据库笔记
  • 基于SSM的高校餐厅防疫管理系统
  • y118.第七章 服务网格与治理-Istio从入门到精通 -- Istio流量治理快速入门(四)
  • Linux | 性能问题排查
  • 【微服务容器化】第二章-Docker常用命令
  • 慧差\畸变 zemax示例
  • 硬件控制方法
  • 【单细胞高级绘图】08.细胞通讯_两组比较_气泡图
  • [译] React v16.8: 含有Hooks的版本
  • 10个最佳ES6特性 ES7与ES8的特性
  • 4个实用的微服务测试策略
  • CNN 在图像分割中的简史:从 R-CNN 到 Mask R-CNN
  • Consul Config 使用Git做版本控制的实现
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • Laravel5.4 Queues队列学习
  • Rancher-k8s加速安装文档
  • TCP拥塞控制
  • 分布式熔断降级平台aegis
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #单片机(TB6600驱动42步进电机)
  • (2.2w字)前端单元测试之Jest详解篇
  • (TipsTricks)用客户端模板精简JavaScript代码
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (每日持续更新)jdk api之FileFilter基础、应用、实战
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (七)Java对象在Hibernate持久化层的状态
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (顺序)容器的好伴侣 --- 容器适配器
  • (一)RocketMQ初步认识
  • (一)WLAN定义和基本架构转
  • (转)EXC_BREAKPOINT僵尸错误
  • ... 是什么 ?... 有什么用处?
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .apk文件,IIS不支持下载解决
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .NET MVC第五章、模型绑定获取表单数据
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • .NET命令行(CLI)常用命令
  • /etc/fstab 只读无法修改的解决办法
  • @manytomany 保存后数据被删除_[Windows] 数据恢复软件RStudio v8.14.179675 便携特别版...
  • [ 代码审计篇 ] 代码审计案例详解(一) SQL注入代码审计案例
  • [\u4e00-\u9fa5] //匹配中文字符