详解微信小程序中组件通讯

时间:2021-05-25

这篇主要讲组件通讯

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

<header title='{{title}}' bind:fn='fn' id='header'></header>

通过title='{{title}}'传向子组件向子组件传递参数

子组件接收参数:

Component({ properties: { title: { // 属性名 type: Number, // 类型(必填) type: String,//目前接受的类型包括:String, Number, Boolean, Object, Array, null(表示任意类型) }, fn: { type: Function, }, }, data: { }, methods: { // 子组件调用父组件方法 childFn() { console.log(this.data.title) this.triggerEvent("fn"); //triggerEvent函数接受三个值:事件名称、数据、选项值 } }})

methods使用title时 this.data.title 直接就可以获取到

通过 bind:fn='fn'传向子组件向子组件传递方法

方法同样也要在properties接收,methods里定义一个新方法, this.triggerEvent("fn") 接收父组件传递过来的方法

(2)父组件调用子组件数据及方法:

首先在父组件js onReady 生命周期中获取到组件

onReady: function () { //获得popup组件 this.header= this.selectComponent("#header");},

比如要调用子组件的一个function方法

// 调用子组件方法 fn(){ this.header.fn() //子组件的方法 },

调用子组件数据的话直接 this.header.msg 就可以拿到子组件的数据

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章