微信小程序排坑指南详解


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代码
Aug 25 Javascript
jQuery lazyload 的重复加载错误以及修复方法
Nov 19 Javascript
javascript校验价格合法性实例(必须输入2位小数)
May 05 Javascript
简单的jquery左侧导航栏和页面选中效果
Aug 21 Javascript
JavaScript前端开发之实现二进制读写操作
Nov 04 Javascript
IE6-IE9使用JSON、table.innerHTML所引发的问题
Dec 22 Javascript
基于vue2实现左滑删除功能
Nov 28 Javascript
详解JS转换数值函数Number()、parseInt()、parseFloat()
Aug 24 Javascript
微信小程序之事件交互操作实例分析
Dec 03 Javascript
js计算最大公约数和最小公倍数代码实例
Sep 11 Javascript
JavaScript获取当前url路径过程解析
Dec 27 Javascript
Node.js API详解之 net模块实例分析
May 18 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学习教程之第1天
2008/06/15 PHP
PHP获取当前文件所在目录 getcwd()函数
2009/05/13 PHP
Smarty的配置与高级缓存技术分享
2012/06/05 PHP
php的declare控制符和ticks教程(附示例)
2014/03/21 PHP
PHP之uniqid()函数用法
2014/11/03 PHP
使用symfony命令创建项目的方法
2016/03/17 PHP
理解 JavaScript 预解析
2009/10/25 Javascript
Tab页界面 用jQuery及Ajax技术实现(php后台)
2011/10/12 Javascript
jquery焦点图片切换(数字标注/手动/自动播放/横向滚动)
2013/01/24 Javascript
jquery对dom的操作常用方法整理
2013/06/25 Javascript
Jquery插件编写简明教程
2014/03/25 Javascript
js获取当前时间显示在页面上并每秒刷新
2014/12/24 Javascript
移除AngularJS下URL中的#字符的方法
2015/06/19 Javascript
jQuery中的通配符选择器使用总结
2016/05/30 Javascript
Javascript实现跑马灯效果的简单实例
2016/05/31 Javascript
jQuery实现简单倒计时功能的方法
2016/07/04 Javascript
AngularJS中$http服务常用的应用及参数
2016/08/22 Javascript
Vuejs第一篇之入门教程详解(单向绑定、双向绑定、列表渲染、响应函数)
2016/09/09 Javascript
js实现淡入淡出轮播切换功能
2017/01/13 Javascript
简单实现js选项卡切换效果
2017/02/09 Javascript
js 事件的传播机制(实例讲解)
2017/07/20 Javascript
Vue中v-show添加表达式的问题(判断是否显示)
2018/03/26 Javascript
JavaScript中AOP的实现与应用
2019/05/06 Javascript
Vue商品控件与购物车联动效果的实例代码
2019/07/21 Javascript
js实现批量删除功能
2020/08/27 Javascript
JavaScript实现单点登录的示例
2020/09/23 Javascript
Python实现pdf文档转txt的方法示例
2018/01/19 Python
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
Python 判断奇数偶数的方法
2018/12/20 Python
python 实现弹球游戏的示例代码
2020/11/17 Python
pyqt5实现井字棋的示例代码
2020/12/07 Python
环境工程专业自荐信
2014/03/03 职场文书
我的老师教学反思
2014/05/01 职场文书
小学生安全责任书
2014/07/25 职场文书
安全事故隐患排查治理制度
2015/08/05 职场文书
Win10鼠标轨迹怎么开 Win10显示鼠标轨迹方法
2022/04/06 数码科技