今天小编说一下我们在开发商城类的微信小程序时遇到的一些需要注意的小问题!
⒈收货地址
这个问题,想起来就难受的不行!在开始静态布局的时候,费了大半天劲,把整个选择地址,创建地址(地图选址),重新编辑修改地址,删除地址的页面都写好,然后在手机预览。点一下选择收货地址,蹦出来两套页面啊!一套就是我写的,另一套是当初是小程序自带的。自带的(QAQ),wx.chooseAdress 是直接调用微信底层的方法的,而且所有功能应有尽有。我还傻傻的自己写了一遍!想想是真的蠢。分析下发生这种事情的原因:首先刚开始接触小程序,对一些方法在不了解的情况下就开始入手写代码,也算是个大忌了;其次这个功能在较低版本的开发者工具上面是预览不出该效果的,只能在手机预览;再者实在是没想到啊。就当是个教训了,在此提醒各位新手一定要避开这个坑!
⒉小程序最多只能跳5栈
⒊页面传值 这个比较简单些,用法跟html+java类似。方法有多种,我只说我用到的两种:通过链接传值和本地存储传值!链接传值:
wxml 代码:
在接收页面的 js 中写
:function(options){
this.setData({
Form_id:options.form_id
}这样就接收到传过来的值了。本地存储传值: 传值页面的 js 中写
// 把选中的商品 id(cartIdString)放入本地存储 供支付页面使用 wx.setStorage({
key: ‘cartIdString’,
data: cartIdString,
success:function(res){
console.log(‘sucess’)
// 把选中的商品 总价 放入本地存储 供支付页面使用wx.setStorage({
key: ‘total’,
data: that.data.total,
success: function (res) {
console.log(‘sucess’)
接收页面的 js 中写
onReady:function(e){
var that = this;
// 给后台返回购物车页面中被选中商品的 id
wx.getStorage({
key: ‘cartIdString’,
success: function (res) {
console.log(res.data)
// 返回购物车页面中被选中商品的 总价
wx.getStorage({
key: ‘total’,
success: function (res) {
that.setData({
total: res.data
⒋request请求数量 整个小程序在运行时,同时存在的 request 请求数量限制在5个。
解决办法是在页面出栈时将该页面的所有 request 请求全部销毁。 先给每一个 request 请求赋给一个变量,然后在 onUnload 事件中用 requestTask.abort() 方法将其销毁。
js 代码
: function () {
var that = this;
var a = wx.request({
url: ‘http://192.168.200.146:8080/trwl/xcx/selcar’,
method: ‘GET’,
dataType: ‘json’,
success: function (res) {
that.setData({
carts:res.data
that.sum()
fail: function (res) { },
complete: function (res) { },
//将 request 进行销毁
onUnload: function () {
requestTask.abort();
a.abort();
5.往后台传求组时不能直接以Array的格式传,需要将其转换成字符串格式 代码如下:
var cartIdArray = [];
var cartIdString = ”;
var carts = this.data.carts;
for(var i=0;i<carts.length;i++){
if(carts[i].ch){
cartIdArray.push(this.data.carts[i].cartId)
for (var i = 0; i < cartIdArray.length; i++) {
cartIdString += cartIdArray[i] + “,”;
责任编辑:
本网页由 社交新零售系统 分享生成,若侵权请及时联系删除。
原文链接:https://www.sohu.com/a/206879715_100071067
暂无评论内容