小程序组件里的数据传递

小程序组件里的数据传递,第1张

先上一段官方文档

文档说绝大多数初始化工作都在 attached 生命周期进行,但是小程序组件数据分为组件的内部数据 data: {} 和从页面传递过来的 properties: {} 。但是有个问题是在组件的 attached 中无法拿到使用组件的页面中setData的值。

给组件传递myString

组件接受myString

所以可以看出在组件里 mySrting 在 created 取的是组件的默认值, attached 取的是页面里 data 的初始数据, ready 取的才是页面 setData 之后的值。具体原理应该要研究下组件的生命周期函数的源码了,可能是在组件 attached 之后页面才 onLoad 。反正直接在组件里使用 mySrting 就不会有这些问题,但如果想用页面 setData 后的 myString 来对组件的数据初始化,就只能放在组件的 ready 里而不能放在 attached 里、

father.json

注意:要使子组件可以在父组件展示需在父组件的json中引入并定义。

father.wxml

注意:fatherTOson属性写在son标签上,fatherTOson不是固定的,可以修改其值。

son.js

注意:即在son.js的properties中定义父组件要传过来的参数类型

son.wxml

总结: 父组件向子组件传参,实际上就是在父组件中引入子组件的时候,带上一个属性fatherTOson,并且给其赋值,然后子组件通过这个属性名称fatherTOson,获取其值。

son.wxml

son.js

注意:bindtap='change'定义了一个方法在son.js的methods完成向父组件传值。this.triggerEvent固定不变,myevent是在父组件中定义的方法。sonTOfather是传给父组件的变量名。

father.wxml

注意:myevent是在父组件中定义的方法;sonTOfather是声明的变量接收子组件的值

father.js

注意:在father.js中声明变量sonTOfather,用来接收子组件穿来的参数。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7842018.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-10
下一篇2023-04-10

发表评论

登录后才能评论

评论列表(0条)

    保存