前言:
小程序開發(fā)現(xiàn)在慢慢成為潮流弧哎,所以本人也是開始接觸小程序,遇到的問題很多很多稚虎,該文章持續(xù)更新撤嫩。。蠢终。有請各位大佬多多支持序攘,提提建議
1、h5頁面調(diào)用微信小程序方法跳轉(zhuǎn)時(shí)寻拂,比如:
wx.miniProgram.redirectTo?
wx.miniProgram.navigateTo?
頁面需引入js:http://res2.wx.qq.com/open/js/jweixin-1.4.0.js程奠,方可解決
2、同一個(gè)page頁面的功能祭钉,有多個(gè)地方入口時(shí)梦染,當(dāng)前page頁面的按鈕返回方法
wx.miniProgram.navigateBack({
????????delta: 1
? })
3、微信開發(fā)者工具:調(diào)試小程序中web-view所引入頁面時(shí)朴皆,針對部分win10系統(tǒng)按鈕事件錯(cuò)亂問題:
把屏幕的縮放與布局? 修改為100%帕识,方可解決事件錯(cuò)亂
4、部分開發(fā)的微信開發(fā)者工具遂铡,在點(diǎn)擊左上角返回按鈕時(shí)肮疗,返回頁面出現(xiàn)空白的問題:
目前小程序?qū)τ诩虞dweb-view頁面時(shí)返回有bug,請下載最新的穩(wěn)定版的開發(fā)者工具進(jìn)行解決(PS:如果最新版還有就沒得辦法了)
5扒接、this.setData和直接賦值的區(qū)別
這兩者都可以造成data里數(shù)據(jù)的改變伪货,但是this.setData賦值才會(huì)造成wxml里面數(shù)據(jù)的改變,也就是同步更新渲染界面钾怔,而直接賦值只會(huì)讓data里數(shù)據(jù)發(fā)生變化碱呼,但是界面并不會(huì)改變。因此采用如下方式
6宗侦、在自己當(dāng)前頁面判斷是否所處于小程序的環(huán)境(用于同一功能在小程序中和非小程序中共同調(diào)用)
window.__wxjs_environment === 'miniprogram'
7愚臀、在iOS中,若存在JSSDK接口調(diào)用無響應(yīng)的情況矾利,可在<web-view/>的src后面加個(gè)#wechat_redirect解決姑裂。
8、圖片資源男旗,CSS中的背景圖片
CSS中無法使用本地資源(開發(fā)目錄中)的圖片作為background-image舶斧。可以使用網(wǎng)絡(luò)圖片資源察皇,或base64茴厉,或者使用image標(biāo)簽。tabBar的icon資源可使用本地資源
9、頻繁地setData會(huì)造成性能問題
頻繁地setData操作矾缓,會(huì)出現(xiàn)卡頓师痕,操作反饋延遲嚴(yán)重,甚至有可能閃退而账。
10、可以設(shè)置網(wǎng)絡(luò)請求的超時(shí)時(shí)間
app.js中配置
"networkTimeout": {
? "request": 10000 // 10秒
}
11因篇、頁面跳轉(zhuǎn)后泞辐,前頁面中的定時(shí)器不會(huì)自動(dòng)清除
得在頁面清除和卸載的方法中手動(dòng)清除
12、小程序中通過web-view頁面嵌入vue項(xiàng)目中會(huì)有兼容問題
需調(diào)整vue項(xiàng)目中的路由配置竞滓,以免影響微信小城左上角的返回咐吼;
解決方法例如:
路由跳轉(zhuǎn)下一個(gè)vue頁面時(shí)清空上一個(gè)保存的路由
this.$router.go(-1)
或
this.$router.replace('/你的跳轉(zhuǎn)vue頁面')