1.小程序安装
官方文档:
框架: https://mp.weixin.qq.com/debug/wxadoc/dev/framework/MINA.html
组件: https://mp.weixin.qq.com/debug/wxadoc/dev/component/
API: https://mp.weixin.qq.com/debug/wxadoc/dev/api/
小程序账号注册:https://mp.weixin.qq.com/wxopen/waregister?action=step1&token=&lang=zh_CN
开发工具下载:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html
2.关于小程序的一些小问题
2.1:关于换行
原来的html我们是用<br/>标签换行,然而小程序里面没有,小程序换行可以用\n来实现。
<text>小程序\n换行</text>
![]()
2.2:Padding的问题
若宽度是百分百,则尽量用内部内容的margin解决,不然会撑开页面,导致左右滑动的
3.商城项目一些心得
3.1 这次项目比较复杂的就是购物车了,不管是布局和左滑删除,都是有一定难度的。
购物车这里布局我全部使用的是弹性盒子,弹性布局不管屏幕尺寸怎么变化整体布局都不会有什么问题。再利用弹性盒子的一些属性就很容把内容布局成你想要的效果了。总之弹性盒子布局,我个人觉得,是真的好用。
3.2 关于左滑删除
我用了两个事件bindtouchstart(手指触摸动作开始)和bindtouchmove(手指触摸后移动)。首先利用触摸开始事件记录开始的X坐标,并且把左滑过的全部初始化。然后利用触摸后移动事件,它会实时返回信息。我们需要的滑动中X坐标也在里面。
然后我们就判断,滑动中的X坐标小于开始的X坐标就是左滑动,并且滑动距离大于15就是属于左滑动了。然后我们把它滑动的距离用变量接收起来,放到视图盒子偏移那里去。这样就能实现实时偏移了。
下面是一些代码
// 手指触摸开始,记录起始坐标X touchstart(e) { //开始触摸时 重置所有删除 this.data.cargoods.forEach(function(v, i) { if (v.isTouchMove) //只操作为true的 v.isTouchMove = false; }) //记录起始X坐标,由于这里只是记录所以不用发送到视图 this.data.startX = e.changedTouches[0].clientX; this.setData({ cargoods: this.data.cargoods//改变了属性,重新发送到视图 }) }, //手指滑动处理
touchmove(e) {
let touchMoveX = e.changedTouches[0].clientX, //滑动变化坐标
index = e.currentTarget.dataset.index, //获取传回来的下标
startX = this.data.startX, //开始X坐标
key = 'cargoods[' + index + '].isTouchMove'; // [key] 是 es5中的计算属性命名,将变量的内容作为key
if (startX > touchMoveX && startX - touchMoveX >= 15) {//判断是否是左滑动
this.setData({
[key]: true,//这是我在数组里面做的标记是否执行左滑动
leftOffset: touchMoveX - startX < -101 ? -101 : touchMoveX - startX//判断滑动的距离是否超过删除按钮的宽度,超过了就返回按钮的宽度
})
} else {
this.setData({
[key]: false
})
}
},