封装组件

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>

最新文章

  1. 如何数据库表数据导出到excel中
  2. 记一次特别的bug
  3. HOLOLENS如何调节屏幕亮度和音量?
  4. 使用BPEL创建Web服务组合
  5. 看上去很美 国内CDN现状与美国对比
  6. leetcode 141. Linked List Cycle ----- java
  7. Javascript字典操作
  8. 解读四大移动web应用开发框架真相
  9. JS-Array数组内置对象
  10. webBrowser.execWB的完整说明
  11. KVO &amp; 通知 小记
  12. html 网页背景图片根据屏幕大小CSS自动缩放
  13. Integer 的 valueOf 方法 与 常量池(对 String Pool 的部分理解)
  14. jquery chrome中取select 的值一就返回了
  15. 服务器搭建1 安装mysql数据库
  16. 关于git rebase的相关讲解
  17. 制作一个App的完整流程是哪些
  18. 巨蟒python全栈开发-第3天
  19. VUE学习(三)语法
  20. HDU1157 Who&amp;#39;s in the Middle

热门文章

  1. Python基础之数据库:2、MySQL的下载与安装、基本使用、系统服务制作
  2. Linux deb系统 nginx 配置解析php
  3. 使用Python实现多线程、多进程、异步IO的socket通信
  4. 《HTTP权威指南》– 2.HTTP报文与URL资源
  5. 【深入浅出SpringCloud原理及实战】「SpringCloud-Alibaba系列」微服务模式搭建系统基础架构实战指南及版本规划踩坑分析
  6. django 之swagger配置与生成接口文档
  7. C++可执行文件绝对路径获取与屏蔽VS安全检查
  8. C语言常用知识总结
  9. Gvim基础操作(正则表达式)-02
  10. ChatGPT/InstructGPT详解