微信小程序-常见问题整理
1.全局变量,方法。
a.在app.js里面定义globalData对应的全局变量
//app.js App({ globalData: { url: "www.baidu.com" } })
b.在其他页面js文件进行调用。例如在photo.js里面
//photo.js //获取应用实例 const app = getApp(); Page({ data: { }, onReady: function () { }, onLoad: function (options) { app.globalData.url = "www.bing.com"; console.log("url:", app.globalData.url); }, })
2.页面间跳转。
主要介绍三种跳转方式:
1) B页面自带返回按钮
//保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面 wx.navigateTo(OBJECT)
2) B页面不带返回按钮
//关闭当前页面,跳转到应用内的某个页面。 wx.redirectTo(OBJECT)
3) B页面不带返回按钮
// 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 wx.switchTab(OBJECT)
举个栗子:
//example.wxml <view bindtap="navigateBack"></view>
//example.js navigateBack: function () { var self = this; var pages = getCurrentPages(); if (pages.length == 1) { if (self.data.circleId && self.data.circleId >0) { wx.redirectTo({ url: '../../circle/index/index?circleId=' + self.data.circleId + '&circleName=' + (self.data.circleName || '') }); } else { wx.switchTab({ url: "../../home/grouplist/grouplist" }); } } else { wx.navigateBack({ changed: true });//返回上一页 } },
重要:
1)、A -> B -> C C直接返回A
A -> B 通过 wx.navigateTo 跳转
B -> C 通过 wx.redirectTo 跳转.跳转触发后 B 页面就会被销毁, C 页面再返回 wx.navigateBack 就会直接到 A 了
2)、A -> B -> C 返回效果C -> B -> A
正常 A -> B -> C 都是通过 wx.navigateTo 跳转的,所以 wx.navigateBack 只能返回上一界面
可参考页面:https://www.cnblogs.com/yaoyuqian/p/7967472.html
3.页面传参数
直接由页面跳转的url上加入对应参数
//A.wxml <navigator url="/pages/B/B?id=1"></navigator>
//B.js onLoad: function (options) { console.log("id",options.id); }
页面间传值与取值可参考:https://www.jianshu.com/p/b2d912920a6a
4.添加卡卷
wx.addCard({ cardList: [ { cardId: '', cardExt: '{"code": "", "openid": "", "timestamp": "", "signature":""}' }, { cardId: '', cardExt: '{"code": "", "openid": "", "timestamp": "", "signature":""}' } ], success: function(res) { console.log(res.cardList) // 卡券添加结果 } })
参考:微信小程序开发文档,https://developers.weixin.qq.com/miniprogram/dev/api/card.html#wxaddcardobject
5.打开卡卷列表
wx.openCard({ cardList: [ { cardId: '', code: '' }, { cardId: '', code: '' } ], success: function(res) { } })
参考:微信小程序开发文档,https://developers.weixin.qq.com/miniprogram/dev/api/card.html#wxopencardobject