算是第一次开发微信小程序时的心得,有许多地方需要注意:
1.路由跳转:
wx.reLaunch(Object object)
当使用wx.reLaunch进行跳转时,会走跳转后页面的onLoad方法,尤其是当子页面跳转tabber页面时,数据发生改变,但是tabber页面不会去刷新数据,这时候用就非常nice!
2.页面跳转两次:
一开始开发的时候小程序的内置方法不熟悉,导致onLoad与onShow方法运用混乱,导致在手机预览的时候点击跳转B页面时,B页面跳转两次,原因就在于onLoad与onShow都走了同样的方法,也就是两遍。
onLoad方法是页面加载时会触发,onShow是当页面发生改变时触发,**注意:首次加载时两者都会触发!
**
3.tabber页面二次加载数据不刷新问题
假设有A、B两个tabber页面,当A页面改变了某个状态,你在点击B页面时想让B页面也发生改变时,你发现B页面啥反应也没有,然后就 擦了个DJ有木有!!!
不要慌,自己动手丰衣足食。
首先=>在A页面的onHide方法中存储一个标识,表示当A页面隐藏时,我存了一个证明我隐藏了的标识
然后=>在onShow方法中去获取存储的这个标识,如果有这个标识那么就执行对应的方法,比如重新获取数据等等…
献上代码:
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
let that = this;
let isIndex = wx.getStorageSync('isIndex');
console.log('isIndex:' + isIndex);
if (isIndex) { //如果isIndex存在 那么就执行对应的方法
that.isLoginState(); //我这里是判断的登录状态方法
}
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
let that = this;
wx.setStorageSync('isIndex', 1); //监听页面是否刷新的标识
},
4.不想让用户点击右上角的···进行分享小程序
比如你有一个我的钱包页面,但是客户说不让用户去分享这个页面给朋友,咋办嘞?
微信小程序在js文件中会自动生成这个功能,也就是 onShareAppMessage 这个方法,直接把他删除掉就OK了。
顺便说下如果要分享,想加入参数的问题:
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
return {
title: "商品详情",
path: `/pages/shopInfo/shopInfo?test=123`,
success: function (res) {
console.log('分享成功', res);
}
}
}
5.后台使用富文本上传图文时存在HTML标签
在这里我用的是在网上找的一款插件,资源地址:https://download.csdn.net/download/weixin_43193877/12510752
使用方法:
const WxParse = require('../../wxParse/wxParse.js');
const util = require('../../utils/util.js');
// 转换富文本 JS
test:function(){
WxParse.wxParse('Content', 'html', res.data.data[0].Content, that, 5)
}
//wxml
<import src="/wxParse/wxParse.wxml" /> //引入组件
<template is="wxParse" data="{{wxParseData:Content.nodes}}"></template>
**再说下初期的开发流程和准备事项
首先去微信小程序后台申请APPID,拿到秘钥,这个是给后台用的。
获取openid步骤:首先在app.js中的wx.login方法获取res中的code,用code去后台换取openid
若有微信支付功能需要:商户ID,商户key
域名方面:需要https备案域名
------------
以上