首页IT科技子父组件传值(uniapp的父传子,子传父,子组件与父组件数据同步(.sync)的理解)

子父组件传值(uniapp的父传子,子传父,子组件与父组件数据同步(.sync)的理解)

时间2025-05-03 23:30:34分类IT科技浏览3438
导读:父传子:...

父传子:

父调用 绑定的子组件中state然后 mystate1赋值false 给子组件中的state         。并在子组件中显示父中传来的值                。

注意要在子组件中设置 props【属性】不然父中的值无法传过去      。 <view >开启{{mystate1}}</view> --调用子组件mypop            ,并传值 "state" <mypop :state.sync="mystate1" ></mypop> --在父组件中mystate1是false data() { return { mystate1:false }; },

接下来传值给子组件               ,并显示子组件中传的值"state"

<view> <view>---弹出框--父-{{state}}--子{{state_sun}}</view> </view> </template> <script> export default { name:"mypop", data() { return { }; }, props:{ state:{ type:Boolean, default:true }, state_sun:{ type:Boolean, default:true }, },

这里可以看出    ,子中state原状态为true         ,父传了false                ,最后在子组件中显示为false      ,同时子组件有个state_sun定义是true显示是true       。

子传父:

只要加个$emit,然后加上参数和值

父中的页面:

定义openMsg方法绑定给@getMsg      ,其中getMsg是子组件中的方法函数               。通过@使用         。 <comp :name="name" @getMsg="openMsg"></comp>

然后写openMsg方法:打印传过来的值                 ,msg是子组件中传来的值        ,msg是可以随意取的     。

methods: { openMsg(msg) { console.log(msg) } }

子组件中

methods: { sendMsg() { //子传父 this.$emit(getMsg, "我是子,"+this.name); } }

父组件调用子组件的sendMsg方法   ,并绑定给自己的openMsg方法                  ,然后子组件中传来的值 【“我是子,            ”+this.name】通过console打印出来              。

子组件与父组件数据同步(.sync)

一般子与父数据同步用sync比较简单            。

只要在

e

m

i

t

中加个

u

p

d

a

t

e

参数就可以了   。可以认为父中

s

t

a

t

e

:

s

t

a

t

e

.

s

y

n

c

=

"

m

y

s

t

a

t

e

1

"

】传值给子           ,子中的

s

t

a

t

e

显示

f

a

l

s

e

,然后子传值给父【

u

p

d

a

t

e

:

s

t

a

t

e

"

,

f

a

l

s

e

】               ,父中的

m

y

s

t

a

t

e

1

变成了

f

a

l

s

e

             。只需要在父中添加

:

s

t

a

t

e

.

s

y

n

c

             ,子中添加

t

h

i

s

.

emit中加个update参数就可以了               。 可以认为父中state【:state.sync="mystate1"】传值给子  ,子中的state显示false             ,然后子传值给父【update:state",false】               , 父中的 mystate1变成了false。 只需要在父中 添加:state.sync     ,子中添加 this.

emit中加个update参数就可以了           。可以认为父中state:state.sync="mystate1"】传值给子         ,子中的state显示false                ,然后子传值给父【update:state",false】      ,父中的mystate1变成了false                 。只需要在父中添加:state.sync      ,子中添加this.
emit(“update:state               ”                 ,值)和属性 props:{ state:{ type:Boolean, default:true },即可   。

子组件中:

this.$emit("update:state",false)

父组件中

<button @click="clickBtn">开启{{mystate1}}</button> <mypop :state.sync="mystate1" ></mypop>

这样子组件中的state中的值就给父组件         。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
python scatter 点的大小size最小0.01(python cutecharts库如何使用?) 为什么清理了垃圾感觉内存比以前少了很多(为什么要清理C盘,如何清理)