微信小程序排坑指南详解


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 相关文章推荐
javascript 判断中文字符长度的函数代码
Aug 27 Javascript
用jquery模仿的a的title属性的例子
Oct 22 Javascript
前端必备神器 Snap.svg 弹动效果
Nov 10 Javascript
AngularJS学习笔记之ng-options指令
Jun 16 Javascript
微信小程序 条件渲染详解
Oct 09 Javascript
微信小程序 购物车简单实例
Oct 24 Javascript
原生JS查找元素的方法(推荐)
Nov 22 Javascript
微信小程序之仿微信漂流瓶实例
Dec 09 Javascript
使用InstantClick.js让页面提前加载200ms
Sep 12 Javascript
基于dataset的使用和图片延时加载的实现方法
Dec 11 Javascript
微信小程序五子棋游戏的棋盘,重置,对弈实现方法【附demo源码下载】
Feb 20 Javascript
vue实现移动端项目多行文本溢出省略
Jul 29 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
PHP数据库开发知多少
2006/10/09 PHP
PHP 用数组降低程序的时间复杂度
2009/12/04 PHP
php的ajax框架xajax入门与试用介绍
2010/12/19 PHP
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
2014/04/08 PHP
php分页函数完整实例代码
2014/09/22 PHP
php实现的SSO单点登录系统接入功能示例分析
2016/10/12 PHP
thinkPHP5.0框架URL访问方法详解
2017/03/18 PHP
js 替换
2008/02/19 Javascript
将函数的实际参数转换成数组的方法
2010/01/25 Javascript
Javascript实现的类似Google的Div拖动效果代码
2011/08/09 Javascript
Jquery方式获取iframe页面中的 Dom元素
2014/05/07 Javascript
Javascript单元测试框架QUnitjs详细介绍
2014/05/08 Javascript
javascript数据结构之二叉搜索树实现方法
2015/11/25 Javascript
JS获取当前脚本文件的绝对路径
2016/03/02 Javascript
node.js用fs.rename强制重命名或移动文件夹的方法
2017/12/27 Javascript
vue.js响应式原理解析与实现
2020/06/22 Javascript
javascript中UMD规范的代码推演
2018/08/29 Javascript
babel7.x和webpack4.x配置vue项目的方法步骤
2019/05/12 Javascript
Vue使用JSEncrypt实现rsa加密及挂载方法
2020/02/07 Javascript
Python简单调用MySQL存储过程并获得返回值的方法
2015/07/20 Python
Python查询IP地址归属完整代码
2017/06/21 Python
使用python实现BLAST
2018/02/12 Python
通过pykafka接收Kafka消息队列的方法
2018/12/27 Python
基于Python新建用户并产生随机密码过程解析
2019/10/08 Python
基于Python的接口自动化读写excel文件的方法
2021/01/15 Python
html5 跨文档消息传输示例探讨
2013/04/01 HTML / CSS
西班牙香水和化妆品网上商店:Douglas
2017/10/29 全球购物
俄罗斯童装网上商店:BebaKids
2020/06/06 全球购物
幼儿园春游活动方案
2014/01/19 职场文书
《孔子游春》教学反思
2014/02/25 职场文书
企业安全标语
2014/06/07 职场文书
公司离职证明范本(汇总)
2014/09/10 职场文书
处级干部反四风个人对照检查材料思想汇报
2014/09/27 职场文书
给朋友的赠语
2015/06/23 职场文书
基于nginx实现上游服务器动态自动上下线无需reload的实现方法
2021/03/31 Servers
解决MySQL添加新用户-ERROR 1045 (28000)的问题
2022/03/03 MySQL