微信小程序排坑指南详解


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显示随机图像或引用
Apr 21 Javascript
wap浏览自动跳转到wap页面的js代码
May 17 Javascript
超炫的jquery仿flash导航栏特效
Nov 11 Javascript
jquery中EasyUI使用技巧小结
Feb 10 Javascript
JS实现的倒计时效果实例(2则实例)
Dec 23 Javascript
AngularJS实现树形结构(ztree)菜单示例代码
Sep 18 Javascript
jQuery.Form上传文件操作
Feb 05 Javascript
基于JS实现9种不同的面包屑和分布式多步骤导航效果
Feb 21 Javascript
js a标签点击事件
Mar 30 Javascript
基于react框架使用的一些细节要点的思考
May 31 Javascript
详解Layer弹出层样式
Aug 21 Javascript
nuxt+axios实现打包后动态修改请求地址的方法
Apr 22 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 Mysql日期和时间函数集合
2007/11/16 PHP
php正则校验用户名介绍
2008/07/19 PHP
php使用GD创建保持宽高比缩略图的方法
2015/04/17 PHP
ubuntu下配置nginx+php+mysql详解
2015/09/10 PHP
JavaScript XML操作 封装类
2009/07/01 Javascript
js 通用订单代码
2013/12/23 Javascript
运用JQuery的toggle实现网页加载完成自动弹窗
2014/03/18 Javascript
多个checkbox被选中时如何判断是否有自己想要的
2014/09/22 Javascript
jQuery实现视频作为全屏幕背景
2014/12/18 Javascript
JavaScript动态修改背景颜色的方法
2015/04/16 Javascript
JavaScript实战(原生range和自定义特效)简单实例
2016/08/21 Javascript
Bootstrap3 图片(响应式图片&图片形状)
2017/01/04 Javascript
Vue.js中用webpack合并打包多个组件并实现按需加载
2017/02/17 Javascript
详解原生js实现offset方法
2017/06/15 Javascript
vue+element导航栏高亮显示的解决方式
2019/11/12 Javascript
jQuery实现计算器功能
2020/10/19 jQuery
[16:21]教你分分钟做大人:圣堂刺客
2014/12/03 DOTA
[01:04:48]VGJ.S vs TNC Supermajor 败者组 BO3 第一场 6.6
2018/06/07 DOTA
[05:11]TI9战队采访——VIRTUSPRO
2019/08/22 DOTA
实例讲解Python中的私有属性
2014/08/21 Python
Python装饰器使用示例及实际应用例子
2015/03/06 Python
详解在Python中处理异常的教程
2015/05/24 Python
python 实现tar文件压缩解压的实例详解
2017/08/20 Python
感知器基础原理及python实现过程详解
2019/09/30 Python
使用python实现名片管理系统
2020/06/18 Python
Python sublime安装及配置过程详解
2020/06/29 Python
欧洲顶级体育电子商务网站:SportsShoes.com
2018/03/27 全球购物
加拿大时尚潮流大码女装购物网站:Addition Elle
2018/04/02 全球购物
意大利独特而优质的家居用品:Fazzini
2018/12/05 全球购物
幼儿园门卫岗位职责
2014/02/14 职场文书
《水上飞机》教学反思
2014/04/10 职场文书
干部作风整顿个人剖析材料
2014/10/06 职场文书
详解GaussDB for MySQL性能优化
2021/05/18 MySQL
Python编解码问题及文本文件处理方法详解
2021/06/20 Python
阿里云服务器Ubuntu 20.04上安装Odoo 15
2022/05/20 Servers
Java实现注册登录跳转
2022/06/16 Java/Android