微信小程序的坑坑

no.1 背景图不显示

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

解决方法:

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

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

no.2 下拉没有触发onPullDownRefresh

JavaScript

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

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

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

JavaScript

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

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

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

JavaScript

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,代码修改如下:

JavaScript

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;
    }
})

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

时间: 2024-10-10 13:28:51

微信小程序的坑坑的相关文章

微信小程序的那些坑

早闻微信小程序是个坑,结果名不虚传,细数一下我开发小程序遇过到坑. 1.UI组件过度封装. 微信小程序的组件是模仿react.js或vue.js的web组件设计的,并且封装了weui.css样式. PS:实现自定义多选或多选.(看微信小程序开发社区的问题,没有很完整的解决方案,于是自己摸索了一个方法) wxml <checkbox-group class="checkbox-group"> <label class="checkbox-label"

踩一踩微信小程序开发的坑---tabBar

最近忙于开发视频直播的项目,小程序学习也放置了两三个星期了,web开发者工具更新到新版,发现上个版本做的demo不显示了??,仔细的检查代码和上网求救,都没用,最后随手那么的按两个键(真的是随手一按,都没想到会解决)就好了,总结下tabBar控件吧. 1,书写,正确书写时tabBar,不要写成tabbar,我看新版的现在有自动补全了,这个应该不会成问题 2,这个问题不好找,当创建新工程时,app.json中Pages配置是这样的 首页默认的是index的目录,如果添加新的页面,不在pages中添

微信小程序开发填坑指南V1

近期用了一星期的时间,开发了一个小程序.小程序名称是:小特Jarvis,取自钢铁侠的管家. 后台采用C#编写,WebAPI接口.其实开发时间并不多,小程序本身提供的API,相比公众号的API来说,已经封装了好多东西,我们只负责简单调用即可.而且,提供的开发工具也很方便,开发环境和VisualStudio很类似,包括快捷键(不知道Java的开发员是不是也有这感觉?) 好了说重点.今天是个总结,把这一星期开发时遇到的坑整理下,希望其他人遇到时能有个参考.其实开发的坑不多,部署的坑最多.开始咯 1,多

微信小程序开发常见坑

前段时间稍微涉猎了微信小程序开发,踩了一些坑,在此总结出来,希望能为小伙伴们提供一点帮助. 页面跳转 对于页面跳转,可能习惯性想到wx.navigateTo,但是在跳转到目标页面是一个tab时,此接口就不起作用了,但也不会报出任何错误.此时应使用wx.switchTab,详见链接描述 区分几种导航接口:wx.navigateTo是保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面.wx.redirectTo关闭当前页面,跳转到应用内的某个页面.wx.reLa

微信小程序开发踩坑记录

1.问题:如果页面个数多于五个,要怎么处理 wx.navigateTo(OBJECT)最多只可以打开五个页面,如果页面多于五个,还想要返回,应该怎么处理呢 答:wx.redirectTo() 2.问题:获取不到unionId 我的小程序让用户登录后,用户信息解密出来的json结构没有unionId,可能是什么原因?是我小程序的后台配置有问题吗? 答:需要到开发者平台绑定 3.问题:微信小程序,如何调试? 什么方法,用alert吗? 答:console.log 4.问题:安卓上wx.uploadF

【微信小程序】采坑之scroll-view组件

一.摘要 今天在使用scroll-view组件的时候发现结果跟预想的不一样.其实也不是第一次用了,同样的写法却出现了意料之外的效果,所以认定是bug了.博主使用的是2.3.0版本,所以之前的版本应该也会有这个bug. 二.正文 先上图 这是在scroll-view中添加这么些text组件的时候的效果,代码我就不上了.发现文本组件莫名其妙的被挤下来了一些,我可是没有设置上边距的,而且留白的地方也没有任何东西. 经过我苦思冥想以及各种尝试发现把中文换成英文或者数字,结果就不一样了.忘记说了,这个sc

微信小程序 swiper 组件坑

swiper 组件高度被限制为150px了,所以内容无法撑开. 解决办法 给这组件重新设置个高度,然后在把里面的图片设置为自动适应容器大小.图片模式设置为 宽度不变 自动适应高度 <swiper class="test" .....> <swiper-item> <image mode='widthFix' ...... /> </swiper-item> </swiper> <style>.text{ heigh

微信小程序组件踩坑

子组件取名headtop  不行headtop1和其他的就行,唉 后面发现是第一次路径错了 然后在其他地方复制了这个组件  引入的是复制的组件导致的这个问题 原文地址:https://www.cnblogs.com/geekjsp/p/11530778.html

继上一个坑有一个坑(微信小程序一键登录之无法识别json数据)

前言:  作为一个运维人员不背锅,谁背呢! 正文: 开发人员和前端人员写好了微信小程序,然后坑出现了,安卓上打死不能一键登录.然后开始排查, 开始从数据上着手,不管是使用postman进行模拟测试数据,还是通过抓包查看数据,无任何问题,但是就是微信小程序无法判断改数据是json数据. 后来继续测试,打console.log 断点,抛数据出来查看发现 该数据 确实也存在问题,直接使用res.data 使用typeof 查看 确实为字符串,但是使用JSON.parse 却抛的微信小程序 百度都不能百

微信小程序image组件开发程序以及相关图片问题参考资料汇总

微信小程序image组件开发程序以及相关图片问题参考资料汇总,希望对大家小程序开发能有一定的参考和借鉴价值.以下汇总主要涉及到微信小程序image组件有关资源路径.缩放和剪裁模式等进行的探讨,无论是对微信小程序新手还是正在开发中的朋友都是很好的小程序学习资料. 微信小程序image组件必备基础知识: image组件默认宽度300px.高度225px image的属性mode有13种模式,其中4种是缩放模式,9种是裁剪模式 image组件开发教程汇总: 微信小程序自定义组件实现图片单指拖动.双指缩