1. 页面之间如何传递图片
场景:
在page1下面选择了一张图片,点击“下一步”跳转到下一个页面,下个页面需要将选择的图片展示出来。
解决方案
使用wx.chooseImage()方法获取图片,将本地图片链接存储到全局变量中,在下个页面通过全局变量获取本地图片链接。
2. 在回调方法中无法使用this.setData()函数
现象:
在如下的回调函数中使用this.setData()时:
chooseImage: function() { wx.chooseImage({ success: function(res) { if(res.tempFilePaths.length > 0) { this.setData({ }); }else{ wx.showToast({ title: '获取图片失败!', }) } }, fail: function(){ wx.showToast({ title: '获取图片失败!', }) } }) },
会报错:
this.setData is not a function
解决办法:
在调用wx.chooseImage方法之前声明:
var thisTem = this;
然后使用:
thisTem.setData();
3. scroll-view实现左右滑动
场景:
官网的实例不全,没有给出css样式。
解决方案
需要在容器scroll-view上加上样式:
width: 100%; white-space: nowrap;/* 规定段落中的文本不进行换行 */
里面的内容必须在同一行,可以加样式
display: inline-block;
4. 实现点击小图片就会显示在头像上,可以缩放,转换和删除
使用手势监听。
5. 一些小问题的解决方案
1. 垂直居中
https://www.zhihu.com/question/20543196
2. 让position:absolute超出DIV溢出隐藏
https://www.cnblogs.com/cheney-cai/p/5949752.html
3. JS中let、const的意义
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/let
4. exports 和 module.exports 的区别—node.js
http://cnodejs.org/topic/5231a630101e574521e45ef8
1. 解构赋值
if (e.touches.length === 1) { let {clientX, clientY} = e.touches[0]; //这个啥意思 this.startX = clientX; this.startY = clientY; this.touchStartEvent = e.touches; } else { let xMove = e.touches[1].clientX - e.touches[0].clientX; let yMove = e.touches[1].clientY - e.touches[0].clientY; let distance = Math.sqrt(xMove * xMove + yMove * yMove); this.setData({ 'stv.distance': distance, 'stv.zoom': true, //缩放状态 }) }
https://segmentfault.com/q/1010000010550926
6. 保存html为图片
解决方案:
装饰好后,将各个图片的坐标和大小获取到,依次画到画布上,再保存起来。
7. 更新数组中特定的值
let showDogsItem = 'showDogs[' + id + '].partTouchData' this.setData({ [showDogsItem]: partTouchData })
作者:scu酱油仔