2023.06.10 | admin | 129次围观
这是我参与11月更文挑战的第2天,活动详情查看:2021最后一次更文挑战
自定义组件封装
注册一个 tab 组件
在 components 文件夹下,创建一个tabs文件夹,点击tabs右建就能看到一个新建compoent,点完一个新的组件就注册成功了。
组件使用
在需要使用该组件的页面的 json 页面上导入组件,在 wxml 下像 HTML 标签一样使用就好了。
复制代码
什么是父组件,什么是子组件?父组件就是在页面中需要引入其他的组件的组件,而子组件就是引入的组件。父向子传递数值微信小程序组件传值微信小程序组件传值,是通过属性的方式来传值,而子向父传值还要通过方法的方式来传值。
父组件向子组件传值
父组件通过属性传值
"{{params}}">
复制代码
子组件通过properties接收:
properties: {
childParams: { type: String }
}
复制代码
子组件调用父组件方法
这个方法也可以理解为子组件向父组件传递参数的方法。
父组件定义方法,childFun是子组件中的方法名,fun是父组件中的方法名。我们通过chidlFun来调用fun。
"{{params}}" bind:childFun="fun">
复制代码
父组件方法:
childFun(e){
console.log('我是父组件的方法', e)
}
复制代码
当点击子组件的按钮执行 clickFun 时调用父组件的方法
clickFun(){
this.triggerEvent('childFun');//如果需要传递参数,直接写在triggerEvent的参数里即可
}
复制代码
父组件调用子组件的方法
"childEle" childParams="{{params}}" bind:childFun="fun">
复制代码
父组件的 onReady 生命周期中获取 childEle 元素
onReady(){
this.childEle = this.selectComponent('#childEle');
}
复制代码
父组件的点击事件 childF 调用子组件的事件:
"childF">我是父组件的点击事件
复制代码
父组件触发子组件的方法:
childF(){
this.childEle.foo()
}
复制代码
这里的 foo即为子组件的方法。
版权声明
本文仅代表作者观点。
本文系作者授权发表,未经许可,不得转载。
发表评论