当前位置: 首页 > news >正文

钉钉小程序使用getApp实现类型provide inject的功能 应用场景:解决页面同步子组件弹窗的滚动问题

前言:在开发钉钉小程序的时候 组件内部的弹窗滚动会带着视图同步滚动 所以需要在组件内部弹窗显示的时候禁用视图的scroll滚动 由于我组件封装的比较深 不可能逐级传递 dd也么有provide的语法 所以我使用的getApp 完成控制的效果 最终完美运行 觉得有帮助相互关注一下 后续会持续更新钉钉小程序的坑 废话不多说了 直接上代码

   //首先在app.js里面定义全局变量App({//存储回调的函数myProvide:null,//存储当前页面的thisthat:null,<!- end->//在page.js 就是要弹窗的时候禁止同步弹窗滚动的页面
Page({data: {/*<scroll-view   class="scroll-view"catchscroll="scrollFn"scroll-y="{{isSorll}}" *///控制视图是否滚动 ture 滚动 false 不滚动isSorll:true,},onLoad({ id, recordTypeNo }) {var app = getApp();app.myProvide = this.setScrollStatus;app.that = this;},setScrollStatus(isSorll){var app = getApp();//这里的this获取不到 当前page内的属性 所以之前要把this存入全局变量that中app.that.setData({isSorll})},
});
<--end-->
//在组件的js文件中 点击弹窗之前禁用视图的滚动
Component({handleShowModel() {var app = getApp();//显示弹窗之前禁用外层视图的滚动app.myProvide(false)//显示弹窗this.setData({isFlag: true})},
})

这样就优雅的解决了视图层同步子组件滚动的问题

http://www.lryc.cn/news/480550.html

相关文章:

  • 标准化 Git 提交信息的约定
  • React教程(详细版)
  • Perfect Forwarding(完美转发)
  • PHP露营地管理平台小程序系统源码
  • 速盾:vue的cdn是干嘛的?
  • 线性代数:Matrix2x2和Matrix3x3
  • Windows 中 Electron 项目实现运行时权限提升以杀掉特定进程
  • 赠你一只金色的眼 - 富集分析和表达数据可视化
  • 鸿蒙的进击之路
  • c语言中的线程管理pthread详解
  • 关于qiskit版本>1.0.0,execute函数被替换
  • 给 Docker 配置网络代理
  • 软件测试基础十七(python Unittest)
  • 技术领导者的道与术:从领导者到领导力
  • Starrocks Compaction的分析
  • 淘淘商城实战高并发分布式项目(有源码)
  • 内网部署web项目,外网访问不了?只有局域网能访问!怎样解决?
  • Jenkins系列
  • 技术总结(二十四)
  • 原生鸿蒙应用市场:赋能开发者全生命周期服务体验
  • 深入解析TOML、XML、YAML和JSON:优劣对比与场景应用
  • 前端UniApp面试题及参考答案(100道题)
  • MoonBit 双周报 Vol.59:新增编译器常量支持,改进未使用警告,支持跨包函数导入...多个关键技术持续优化中!
  • Linux相关概念和易错知识点(20)(dentry、分区、挂载)
  • 论 ONLYOFFICE:开源办公套件的深度探索
  • 兵马未动,粮草先行-InnoDB统计数据是如何收集的
  • oracle服务器意外宕机数据库启动失败故障处理记录
  • 学习笔记——MathType公式编号:右编号和随章节变化
  • 如何使用 SSH 连接并管理你的 WordPress 网站
  • 力扣60. 排列序列