首页 > 其他分享 >父子组件的传值

父子组件的传值

时间:2022-08-23 19:23:30浏览次数:69  
标签:父子 test 组件 data 跨级 传值 页面

         父子组件的传值关系。刚开始开发页面时,我总是避开,很少写组件,原因是我总是理不清父子组件之间的传值关系,但渐渐地我发现我写的代码是非常冗余的,复用性也很差。因此,我慢慢地开始以组件的形式写,页面也整洁了很多。

在某些大的功能中,功能不仅多,逻辑也很复杂,页面也是一个套一个的,弹窗里包含弹窗都是三个以上,因此如果这个页面不采用多个组件来写的话,是很糟糕的。所以在这个模块里很多功能都使用了组件间的传值。一种是不可以跨级的传值方式:有时候三级页面需要用到一级页面的值,但二级页面没有使用到,这种情况是不能跨级传值的,只能一级传向二级,再由二级把一级的值传给三级页面。同理,子组件给父组件传值也是一样的。一种可以跨级的传值方式:最原始的父组件可以直接传值给最后一级的子组件(-this.$parent),最后一级的子组件也可以传值给最原始的父组件(this.$children)。

步骤:

(1) 创建子组件(子组件的文件名自定义)。

(2) 在父组件中引入子组件的路径(import test from "路径")。

(3) 在components:{test}。【test:注册子组件的名字】

(4)在父组件合适的地方使用子组件。

传值:

(1)父组件传值给子组件:

a: this.$nextTick(() => { this.$refs.xxx.onInit(yy);}); 【xxx:ref对应的值; onInit():子组件接收的方法,yy:参数】

(子组件接收:onInit(cc) 【cc:参数】 )

b: <test :data="test"></test> 【data即父组件传给子组件的值】;

(子组件接收用props。【props['data']】)

(2)子组件传值给父组件:使用this.$nextTick(() => { this.$emit("testcolse", { data:xx, });}); 【testcolse:自己起的名称, data:xx:传的参数 】

(父组件接收:onClose (v) 【v子组件传的参数】)

标签:父子,test,组件,data,跨级,传值,页面
From: https://www.cnblogs.com/z996/p/16617448.html

相关文章

  • 利用context组件数据传递
     react的数据传递是从父级向子级传递的。通过props。如果是很多组件需要的数据,通过props传递会非常麻烦。这个时候可以使用context。context需要可以类似于store但是也......
  • 07-React Hooks(路由组件懒加载, Context上下文, 组件优化...)
    扩展setState(1).setState(stateChange,[callback])------对象式的setState1.stateChange为状态改变对象(该对象可以体现出状态的更改)2.callback是可选的......
  • 01-React基础(JSX, State, Refs, Props组件交互, Event, 生命周期)
    引入JS#react开发JSreact.development.js#reactdom渲染JSreact-dom.development.js#jsx语法转换JSbabel.min.js#参数传值校验JSprop-types.jsJSX语法#......
  • 四大组件之Activity
    关于AndroidManifest.xml先看图吧!这就是android的清单文件!它有什么用呢?前面我们说了,它用于描述项目的对吧!在以前的eclipse项目里,androidmanifest.xml文件里还会有版本......
  • vue3 单文件组件——父组件访问子组件的实例
    如果一个子组件使用的是选项式API 或没有使用 <scriptsetup>,被引用的组件实例和该子组件的 this 完全一致,这意味着父组件对子组件的每一个属性和方法都有完全的访问......
  • vue大文件上传组件选哪个好?
    ​一、概述 所谓断点续传,其实只是指下载,也就是要从文件已经下载的地方开始继续下载。在以前版本的HTTP协议是不支持断点的,HTTP/1.1开始就支持了。一般断点下载时才用到......
  • vue3新内置组件teleport传送门
    使用到的原因:在使用固定定位弹出弹出框的时候,突然遇到位置不正确,而且在有index高级别的情况下依旧位置出错表现如下:出现原因:我的代码出现的tf元素,导致定位祖先元素发......
  • 动态组件的使用
    父组件:<template><divclass="app"><!--动态组件component--><!--is中的组件需要来自两个地方:1.全局注册的组件2.局部注册的组件-->......
  • Vue2按需引入elementUI组件
    按需引入官方文档介绍借助babel-plugin-component,我们可以只引入需要的组件,以达到减小项目体积的目的。首先安装babel-plugin-component:npminstallbabel-plugin-c......
  • Spring 高级 工厂后处理器模拟实现组件扫描-模拟ComponentScan 进阶
    一、自定义Bean后处理器Processorpackagecom.mangoubiubiu.show.a05.component;importcom.mangoubiubiu.show.a05.Config;importorg.springframework.beans.Bea......