微信小程序排坑指南详解


Posted in Javascript onMay 23, 2018

本文为大家分享了微信小程序排坑指南,供大家参考,具体内容如下

no.1 背景图不显示

微信小程序里面是允许用户自定义背景图的,但是限定了背景图的路径及地址,之前一直用相对路径来写,微信开发者工具中也显示出了背景图,误以为没有问题,但是预览的时候发现手机中不显示背景图,这就是今天介绍的第一个坑,背景图不允许为本地图片。

解决方法:

第一、用在线图片转base64码的方法,这种方法的优点在于图片不存储在本地或者服务器上,占用空间小修改方便,缺点是小图片处理效果更好,大图代码相当的长,长的都不想看他...

第二、将图片上传至服务器,引用图片地址就可以了,方便快捷,不过修改麻烦且占用服务器空间。

no.2 下拉没有触发onPullDownRefresh

//下拉事件
onPullDownRefresh: function() {
 console.log("好用不?")
 wx.showToast({
  title: '没事儿别乱拉',
  icon: 'success',
  duration: 2000
 })
},
//上拉事件
onReachBottom: function() {
 wx.showToast({
  title: '没事儿别乱拽',
  icon: 'success',
  duration: 2000
 })
}

上面代码是完全没有问题的,但是预览了以后发现只有向上拽是好用的,下拉完全没有反应,这就郁闷了,难道官方的方法有问题?

其实不是的,原因是因为官方默认是关闭了下拉事件,只要去app.json文件里面修改windows里面参数就可以了,代码如下:

"window": {
 "enablePullDownRefresh":true //开启下拉功能
}

no.3 如何取消监听重力感应API

微信小程序并没有提供摇一摇API接口,但是提供了一个重力感应的API 「wx.onAccelerometerChange(CALLBACK)」,我们可以用这个方法来模拟微信摇一摇功能,代码如下:

Page({
 onShow: function () {
  wx.onAccelerometerChange(function (e) {
   console.log(e.x)
   console.log(e.y)
   console.log(e.z)
   if (e.x > 1 && e.y > 1) {
    wx.showToast({
     title: '摇一摇成功',
     icon: 'success',
     duration: 2000
    })
   }
  })
 },
 onHide: function(){
  
 }
})

但如果小程序需要启用tabbar的话,这样启用重力感应API会使tabbar下面所有页面都会监听到重力感应数据,导致模拟摇一摇在所有页面都能出现摇一摇的结果,这并不是我们想要的,我们只是想在tabbar下其中一个页面允许他获取到重力感应数据,那么就需要我们自己加入一个是否在当前页面的判断,根据判断结果来启用监听重力感应API,代码修改如下:

Page({
 isShow: false,
 onShow: function () {
  var that = this;
  this.isShow = true;
  wx.onAccelerometerChange(function (e) {
   if(!that.isShow){
    return
   }
   console.log(e.x)
   console.log(e.y)
   console.log(e.z)
   if (e.x > 1 && e.y > 1) {
    wx.showToast({
     title: '摇一摇成功',
     icon: 'success',
     duration: 2000
    })
   }
  })
 },
 onHide: function(){
  this.isShow = false;
 }
})

修改以后重新编译预览就达到我们想要的效果了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS 显示当前日期与时间的代码
Mar 24 Javascript
JSON.parse 解析字符串出错的解决方法
Jul 08 Javascript
setTimeout函数兼容各主流浏览器运行执行效果实例
Jun 13 Javascript
javascript实现控制div颜色
Jul 07 Javascript
js实现图片放大和拖拽特效代码分享
Sep 05 Javascript
JavaScript中的this,call,apply使用及区别详解
Jan 29 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
Nov 16 Javascript
ng2学习笔记之bootstrap中的component使用教程
Mar 09 Javascript
轻松理解JavaScript之AJAX
Mar 15 Javascript
JS实现的类似微信聊天效果示例
Jan 29 Javascript
javascript获取元素的计算样式
May 24 Javascript
在vue中axios设置timeout超时的操作
Sep 04 Javascript
关于vue-router的那些事儿
May 23 #Javascript
基于Vue自定义指令实现按钮级权限控制思路详解
May 23 #Javascript
详解React+Koa实现服务端渲染(SSR)
May 23 #Javascript
JavaScript+H5实现微信摇一摇功能
May 23 #Javascript
浅谈使用mpvue开发小程序需要注意和了解的知识点
May 23 #Javascript
vue动态路由配置及路由传参的方式
May 23 #Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
May 23 #Javascript
You might like
10个简化PHP开发的工具
2014/12/25 PHP
PHP实现mysqli批量执行多条语句的方法示例
2017/07/22 PHP
Aster vs Newbee BO5 第一场2.19
2021/03/10 DOTA
用js实现的仿sohu博客更换页面风格(简单版)
2007/03/22 Javascript
jQuery 剧场版 你必须知道的javascript
2009/05/27 Javascript
jQuery编写widget的一些技巧分享
2010/10/28 Javascript
JQuery datepicker 使用方法
2011/05/20 Javascript
javascript插入样式实现代码
2012/02/22 Javascript
javascript + jquery实现定时修改文章标题
2014/03/19 Javascript
jQuery移动web开发中的页面初始化与加载事件
2015/12/03 Javascript
JavaScript实现图片懒加载(Lazyload)
2016/11/28 Javascript
浅谈jQuery中Ajax事件beforesend及各参数含义
2016/12/03 Javascript
微信小程序 数据封装,参数传值等经验分享
2017/01/09 Javascript
JS 实现 ajax 异步浏览器兼容问题
2017/01/21 Javascript
BootStrap的双日历时间控件使用
2017/07/25 Javascript
Vue使用高德地图搭建实时公交应用功能(地图 + 附近站点+线路详情 + 输入提示+换乘详情)
2018/05/16 Javascript
如何基于jQuery实现五角星评分
2020/09/02 jQuery
[03:01]完美盛典趣味短片 DOTA2年度最佳&拉胯英雄
2019/12/07 DOTA
Python的Django框架中使用SQLAlchemy操作数据库的教程
2016/06/02 Python
python验证码识别的示例代码
2017/09/21 Python
Python实现破解猜数游戏算法示例
2017/09/25 Python
python使用 HTMLTestRunner.py生成测试报告
2017/10/20 Python
Python运行DLL文件的方法
2020/01/17 Python
python列表删除和多重循环退出原理详解
2020/03/26 Python
keras实现theano和tensorflow训练的模型相互转换
2020/06/19 Python
五款漂亮的纯CSS3动画按钮的实例教程
2014/11/21 HTML / CSS
基于CSS3制作立体效果导航菜单
2016/01/12 HTML / CSS
HTML5 Canvas 起步(1) - 基本概念
2009/05/12 HTML / CSS
C#实现启动一个进程
2016/10/01 面试题
工商管理本科毕业生求职信范文
2013/10/05 职场文书
机械绘图员岗位职责
2013/11/19 职场文书
中文专业学生自我评价范文
2014/02/06 职场文书
初中家长意见
2015/06/03 职场文书
怎样写观后感
2015/06/19 职场文书
坚持不是死撑,更重要的是心态
2019/08/19 职场文书
Spring Boot项目如何优雅实现Excel导入与导出功能
2022/06/10 Java/Android