微信小程序组件封装传值以及问题点规避
2024-10-21 05:48:34
封装组件
1、在components文件加下新建组件文件夹,在该文件夹下新建组件
2、在app.json中注册该组件
"usingComponents": {
"page": "components/auth/index",
"componentB":"/components/componentB/componentB.js"
},
3、子组件
1、组件的json中,设置该页面为组件
{
"component": true
}
2、组件js
// pages/integral/integralRules/index.js.js
Component({
behaviors: [],
// 父组件传入的值在这里,传入的值在这里接受
properties: {
ruleShow : Boolean // 父组件的值
},
data: {
ruleShow:false,
}, // 私有数据,可用于模版渲染
// 生命周期函数,可以为函数,或一个在methods段中定义的方法名
attached: function () {},
moved: function () { },
detached: function () { },
methods: {
// 此处编写方法
onClickHide() {
this.setData({ ruleShow: false });
}
}
})
4、父组件
1、父组件的json中引入子组件
{
"usingComponents": {
"componentB":"/component/componentB/componentB.js"
}
}
2、页面使用,父传子
<page pclass="page"> // 加上page 会占位
<view>
// ....
// json中引入的名字在这里使用,这里就是引入的组件
// ruleShow为自定义名称,{{xxx}}为父组件传入的值
<componentB ruleShow='{{ruleShow}}'></componentB>
</view>
</page>
data: {
ruleShow: false,
},
// 规则弹框
showFunction() {
console.log('更改父组件的值');
this.setData({
ruleShow : true
})
}
// 这里更改的值会回传给子组件
注意点
1、这里封装了一个弹窗组件,弹窗组件一般通过true和false控制显示和隐藏,隐藏状态下不占位,但如果组件的wxml上带有<page pclass="page>包裹,那么即使组件时隐藏状态也会占位,此时需要去掉才可以做到不占位效果。
<page pclass="page"> // 加上page 会占位
<!-- 弹窗 -->
<van-overlay show="{{ ruleShow }}" bind:click="onClickHide"></van-overlay>
</page>
最新文章
- 如何数据库表数据导出到excel中
- 记一次特别的bug
- HOLOLENS如何调节屏幕亮度和音量?
- 使用BPEL创建Web服务组合
- 看上去很美 国内CDN现状与美国对比
- leetcode 141. Linked List Cycle ----- java
- Javascript字典操作
- 解读四大移动web应用开发框架真相
- JS-Array数组内置对象
- webBrowser.execWB的完整说明
- KVO &; 通知 小记
- html 网页背景图片根据屏幕大小CSS自动缩放
- Integer 的 valueOf 方法 与 常量池(对 String Pool 的部分理解)
- jquery chrome中取select 的值一就返回了
- 服务器搭建1 安装mysql数据库
- 关于git rebase的相关讲解
- 制作一个App的完整流程是哪些
- 巨蟒python全栈开发-第3天
- VUE学习(三)语法
- HDU1157 Who&;#39;s in the Middle
热门文章
- Python基础之数据库:2、MySQL的下载与安装、基本使用、系统服务制作
- Linux deb系统 nginx 配置解析php
- 使用Python实现多线程、多进程、异步IO的socket通信
- 《HTTP权威指南》– 2.HTTP报文与URL资源
- 【深入浅出SpringCloud原理及实战】「SpringCloud-Alibaba系列」微服务模式搭建系统基础架构实战指南及版本规划踩坑分析
- django 之swagger配置与生成接口文档
- C++可执行文件绝对路径获取与屏蔽VS安全检查
- C语言常用知识总结
- Gvim基础操作(正则表达式)-02
- ChatGPT/InstructGPT详解