小程序?qū)W習筆記

相關(guān)資源

常用代碼

1. 關(guān)于引入

樣式導入
引入 css:

@import "../templates/list-item/list-item.wxss";

WXML 提供兩種文件引用方式 import 和 include
引入 wxml template:

<import src="../templates/share/share.wxml" />

拷貝 wxml:

<include src="../templates/share/share.wxml" />

2. 方法如何傳參數(shù)

沒法直接傳參數(shù),都要通過 dataset 獲取,代碼示例如下:
wxml:

<view class="delete" data-id="{{id}}" catchtap="deleteItem">刪除</view>

js:

deleteItem: function(e){
    var id = e.currentTarget.dataset.id;
    ......
}

3. 修改數(shù)組對象的某個元素的屬性

var param = {};
var string = "list[" + index + "].text";
param[string] = 'changed data';
this.setData(param);

微信小程序 setData 的坑
setData的靈活應(yīng)用

(愚蠢的)錯誤

1. 微信的某個固定方法未生效

問題:
在某個頁面的 js 中定義 onShareAppMessage 函數(shù),設(shè)置該頁面的轉(zhuǎn)發(fā)信息,但是設(shè)置的屬性卻沒有生效。
原因:
初始化頁面時微信開發(fā)者工具會自己將部分生命周期及其他方法(包括 onShareAppMessage 函數(shù))定義在頁面里,我自己在代碼前面又重新定義了 onShareAppMessage 函數(shù),導致該函數(shù)被后面的空函數(shù)覆蓋,因此設(shè)置的屬性方法等未生效。
解決:
刪除空函數(shù)。
引以為戒,不要犯類似的愚蠢錯誤。

2. navigateTo 跳轉(zhuǎn)失敗

問題:
報錯:navigateTo:fail url "" is not in app.json
解決:
檢查下頁面是否已經(jīng)在 app.jsonpages 屬性下注冊了。
或者該頁面的 js 文件是否已經(jīng)定義了 page 方法:Page({})
或者 json 文件中是否為空(不能為空,至少要有 {})。

問題:
點擊按鈕觸發(fā) wx.navigateTo 方法,但沒有任何反應(yīng)。
解決:
wx.navigateTo 方法不能跳轉(zhuǎn)到存在 tabBar 的頁面,即那些已經(jīng)在 app.jsontabBar 字段下定義的頁面。
要想跳轉(zhuǎn)到 tabBar 頁面,可以使用 wx.switchTab。

真機測試

1. 模仿微信消息的左滑刪除功能效果不佳

問題:
小程序:模仿微信左滑動,出現(xiàn)標為未讀和刪除按鈕,好不容易實現(xiàn)的功能,在真機上測試時卻發(fā)現(xiàn)動畫效果很差,滑塊同滑塊中的文字會以不同的速率移動,很奇怪。
解決:
只能改成點擊出現(xiàn)操作菜單的方式了,提供一個按鈕,點擊就使用 wx.showActionSheet 顯示操作菜單。

2. tabBar 圖標 81px*81px 顯大

問題:
配置 tabBar 的 iconPath 時,官方說明為:圖片路徑,icon 大小限制為40kb,建議尺寸為 81px * 81px,當 postion 為 top 時,此參數(shù)無效。
我理所當然讓 UI 制作了該尺寸的 icon,在開發(fā)者工具上查看時效果還行,但在真機上調(diào)試時卻發(fā)現(xiàn)圖標過大,不好看。
解決:
最后 UI 將實際 icon 大小調(diào)為 62px62px,加上空白區(qū)域仍舊導出 81px81px 的圖片給我。

3. 顯示用戶默認頭像

問題:
一般小程序都會獲取用戶的基本信息如昵稱和頭像,但同時也要考慮到用戶拒絕授權(quán)的情況(wx.getUserInfo 接口需要用戶授權(quán),請兼容用戶拒絕授權(quán)的場景),如果拒絕,原本應(yīng)該顯示頭像區(qū)域的地方可以顯示一個默認的頭像,但真機測試時我使用的測試賬號連頭像都沒設(shè)置,因此即使同意授權(quán)了頭像區(qū)域還是一片空白。
解決:
做好判斷,即使授權(quán)成功獲取到的用戶頭像信息仍舊可能為空。

奇怪的坑

1. margin-bottom 在 ios 下無法撐起頁面

問題:
某個頁面底部有一個 fixed 元素,會遮住頁面一部分,而我希望能夠完整看到當前頁面的內(nèi)容,因此就對當前頁面的內(nèi)容包裹元素加了個 margin-bottom: 140rpx; 以此撐起一定高度,希望可以通過滾動看到完整的頁面內(nèi)容。
但是在 ios 下該 margin-bottom 未起作用,頁面無法向下拉到底,而在安卓下效果正常。
解決:
新增一個隱藏的(background-color:transparent;)元素,設(shè)置高為 140rpx;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容