微信小程序 父组件调用子组件事件和传递参数
一、使用场景
当每个页面都调用统一的组件时,传递的参数和方法都不尽相同,我们应该怎么样子传递给我们的子组件,让子组件获取相应的值或方法进行计算执行。
二、实现方式
1、父组件调用子组件的方法
父.wxml:
<count-down id="countDown"></count-down> //子组件
子.js:
Component({
methods: {
closeGold() { //f方法
console.log('close gold');
},
}
})
父.js:
let countDown = this.selectComponent('#countDown'); // 页面获取自定义组件实例
countDown.closeGold(); // 通过实例调用组件事件
2、父组件传递参数给子组件
父.wxml:
<count-down id="countDown" z_data="{{data_text}}"></count-down> //子组件
父.js:
data:{
data_text:'传递给子组件'
}
子.js:
properties: {
z_data: { //默认值
type: String,
value: '默认值'
},
},
//子组件即可获取得到z_data的值,也可以在 子.wxml里面直接{{z_data}}显示值,不需要上一步子.js。
建议还是通过子.js来显示获取默认值。