雪幕拉开,飘然而至分外美妙,初起便显现出意境;雪落十分,然间有种喜悦在心间荡漾,纷飞飘扬尽享每一刻青春的激情;飞舞的雪花,感受芬芳的韵味,迷人心脾围绕在身旁;耳畔,时常想有沙沙的声音那样的动听,百听不厌,着迷在这一刻升起动人心怀的旋律。
这篇主要讲组件通讯
(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 就可以拿到子组件的数据
本文详解微信小程序中组件通讯到此结束。能够拥有一份美丽的心境,不是因为我们获得的颇多,而是我们计较的很少;我们深深懂得,多,有时也是一种负担,是另外一种失去;少,并非真正不足,而是一种隐形的有余。很多的时候,我们审时度势,选择了舍弃,学会舍弃并不意味着全然失去,而是一种更宽阔更博大的获得!小编再次感谢大家对我们的支持!