组件之间传值

一直搞不清楚父子组件之间传值是怎么传与接收的,这里做个笔记,案例比较复杂,涉及四个页面,第一部分跨页面传值;第二部分只有两个页面之间传。

页面关系:index是主页面,是leftFour和rightFour页面的父组件,leftFour和rightFour是子组件;同时rightFour是holder的父页面,holder是镶嵌在rightFour的子组件。

业务需求:点击左边,云台要能控制夜视视频;点击右边的原始监控视频,云台不能控制

业务逻辑:夜视视频后台传值类型type:0,原始监控type:1; holder可根据获取的type云台进行判断是否可操作。【这里只是为了搞清楚组件之间传值,所以下面不做完整业务,只获取type】

问题:1、父子组件之间如何传值、如何接收;2、holder页面与leftFour页面之间隔离一个rightFour页面,如何跨页面传值与接收。

代码逻辑:leftFour不能直接传值给holder进行判断,但是leftFour和rightFour都是index的子组件,(1)可将index作为桥梁(leftFour传值给index,index再传给rightFour)把type传到rightFour,(2)rightFour再把type给它的子组件holder

与各组件有关的代码:

(1)leftFour传值给index子组件传值,父组件接收):

a. 子组件用$emit自定义方法传值给父组件

父组件接收值:

 

 b. index传值给rightFour(父组件传值,子组件接收):

父组件通过$refs自定义方法传值给子组件

子组件接收:

以上是子父组件之间传值与接收都是通过自定义方法(子传父:$emit ; 父传子:$refs)

(2)rightFour传值给holder(父组件传值,子组件接收

rightFour页面在组件holder处通过自定义动态属性绑定参数传给子组件

子组件接收:通过props接收值,可在created()中打印是否成功传入与接收

这里父子组件传值是通过属性传值和props(父组件传值:动态属性;子组件接收:props)

 其实上面也就只有两种传值类型:子组件传值给父组件和父组件传值

 

😛喜欢文章或文章内容对您有帮助点个赞鼓励一下吧~

posted @ 2022-10-14 13:59  小小小侠  阅读(44)  评论(0编辑  收藏  举报