微信小程序image组件中的bindload不触发问题

微信小程序image组件中的bindload不触发问题,第1张

微信小程序image组件中的bindload不触发问题

原因分析

        做小程序图片预加载功能的时候,发现切换页面后总是停留在预加载的图片上,多次调试后发现,是因为图片第一次加载的时候可以正常触发bindload,但是刷新之后图片有缓存,就不会再执行bindload了。

解决办法

解决方法是前端加载图片url的时候,在后面加一串随机数,这样小程序每次都会认为是新图片,不会有缓存

链接:https://www.jianshu.com/p/1b523bfb45aa

小程序中获取图片可通过两种方式得到,第一种是直接打开微信内部自己的样式,第一格就是相机拍照,后面是图片,第二种是d框提示用户是要拍照还是从相册选择,下面一一来看。

选择相册要用到wx.chooseImage(OBJECT)函数,具体参数如下:

直接来看打开相机相册的代码:

Page({   data: {    tempFilePaths: ''   },   onLoad: function () {   },   chooseimage: function () {    var that = this   wx.chooseImage({     count: 1, // 默认9      sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有      sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有      success: function (res) {      // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片       that.setData({       tempFilePaths: res.tempFilePaths      })     }    })     },          })      

方法一效果图如下:

个人认为第二种用户体验要好一点,效果如下:

点击获取d框提示,代码如下:

Page({   data: {    tempFilePaths: ''   },   onLoad: function () {   },   chooseimage: function () {    var that = this   wx.showActionSheet({     itemList: ['从相册中选择', '拍照'],     itemColor: "#CED63A",     success: function (res) {      if (!res.cancel) {       if (res.tapIndex == 0) {        that.chooseWxImage('album')       } else if (res.tapIndex == 1) {        that.chooseWxImage('camera')       }      }     }    })     },     chooseWxImage: function (type) {    var that = this   wx.chooseImage({     sizeType: ['original', 'compressed'],     sourceType: [type],     success: function (res) {      console.log(res)     that.setData({       tempFilePaths: res.tempFilePaths[0],      })     }    })   }      })      

文件的临时路径,在小程序本次启动期间可以正常使用,如需持久保存,需在主动调用 wx.saveFile,在小程序下次启动时才能访问得到。

布局文件:

<button style="margin:30rpx" bindtap="chooseimage">获取图片</button> <image src="{{tempFilePaths }}" catchTap="chooseImageTap" mode="aspectFit" style="width: 100%height: 450rpx" />   


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7834233.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-10
下一篇 2023-04-10

发表评论

登录后才能评论

评论列表(0条)

保存