2022-12-11 分類: 網站建設
這幾天搗鼓了一個商城小程序(copy了好幾個商城的UI),利用原生組件寫了幾個頁面,也碰到了一些痛點,在此做一個簡單的記錄。幾個簡單的界面如下:
首頁商城分類商品詳情購物車個人中心痛點原生的方式不能用sass。因為用vue習慣了用sass寫樣式,但小程序不能直接使用sass等預處理器,不過好像用了mpvue、wepy等框架可以實現用css預處理器(還未嘗試過,試過了再更新)。去掉標題欄必須全局統一去掉。本來以為在頁面的json文件里可以覆蓋,結果發現并不起作用,所以統一去掉之后,如果你在某些頁面又需要標題欄只能自己用view模擬一個(如我這里的商品詳情頁),希望以后官方可以人性化一點。"navigationStyle": "custom" //只在app.json中生效
3. movable-view貌似有bug。在商城首頁的精選專題中我嘗試了用 movable-view實現橫向滾動效果,后來發現,整個頁面也會隨之滾動,在微信小程序社區里也有人遇到這個問題,不過沒人回答,不知道是自己的問題還是官方的bug,后來就改用scroll-view實現了。
精選專題4. 無tab切換組件(如下所示)。雖說tarbar把position設置為top是一個tab,但這種必須在最頂部,如果要在中間某個內容區使用就只能自己實現了。
tab示例5. 無法動態增加、刪除節點。本來想實現一個加入購物車的動畫,比如點擊了加入按鈕,商品圖片會掉下來,慢慢變成一個圓形,落在tarbar的購物車上。結果發現不能直接刪減節點,并且tabBar的位置好像也無法獲取到,在開發者工具中發現其并沒有渲染出來(希望知道的小伙伴告知一下,先謝謝了)。
6. background-img只能用于網絡圖片或者是base64轉碼后的圖片,一般的本地圖片無法使用,如果要用本地圖片作為背景圖,可以使用image加絕對定位的方式。
7. 當text組件和view組件中的文字全英文或中英混合輸入時(全中文時正常)不換行。解決方案:
word-break: break-all
但可能會出現切斷單詞的情況,如將‘yang’分解為‘ya’和‘ng’放在兩行顯示,對此尚無很好的對策。
8. 聯系客服。有兩種按鈕方式可以實現這個功能,會有一個默認圖標,去不掉,如果想自定義樣式可以使用。
注意事項下拉刷新。onPullDownRefresh在app.js中不起作用, 需要監聽哪個頁面的下拉刷新就在對應頁面的js文件里添加onPullDownRefresh,且需要在json文件中添加"enablePullDownRefresh": true
2. 列表渲染。wx:for 用在標簽上,以渲染一個包含多節點的結構塊,與vue類似,小程序提供了wx:key來保證列表項的自身狀態,從而在渲染時直接復用,提高列表渲染效率,可以有以下兩種值形式:
1、列表中唯一的字符串或數字,且不能動態改變 2、保留關鍵字 *this 代表在 for 循環中的 item 本身(如果item本身就是唯一的話)
注意key是不用{{ }}包裹的
wxml: {{item.name}} js: { id: 1, name: "評論" }, { id: 2, name: "推薦" }, { id: 3, name: "詳情" }
tip:如果wx:for循環中沒有使用key,控制臺會給出警告提示,但不會報錯。不過為了性能效率,還是強烈建議大家都加上key,除非你能保證循環的數據是不動態變化的。
3. 常用標簽。
:非組件,只是一個包裝元素,不渲染,類似于vue中的template,常在wx:for循環中使用 :類似于div,塊狀元素 :組件內只能嵌套組件,行內元素,如果嵌套其他元素會不顯示 :圖片要加后綴名,有默認寬高 :輪播圖,有默認寬高,里面的寬高默認100%
4. 由于開發者工具用的真心難受,所以其實可以使用自己喜歡的工具進行開發,我用的是webstorm,在使用之前需要先配置一下以支持小程序的語法:
1、設置wxml、wxss語法高亮 2、導入wechatcode.jar支持小程序代碼提示
具體方法就不詳細展開,隨便搜索就能找到。盡管如此還是無法達到好支持,部分語法也會識別不了,但影響不大。
5. navigator跳轉。導航類型分三種,通過open-type屬性設置
A、open-type="navigate" 打開新界面B、open-type="redirect" 在本界面中打開新界面C、open-type="switchTab" 控制tab頁之間的切換這里,需要注意的是:
1、所有需要跳轉的頁面必須在app.json中注冊 2、A是navigator的默認跳轉方式,可以通過wx.navigateBack()返回 3、B跳轉到目標頁面后,導航欄是沒有返回按鈕的,并且也無法通過wx.navigateBack()返回 4、A、B只能跳轉非tabBar中注冊的頁面,不能打開url="../index/index"(一般是tabBar的首頁),因為pages/index/index界面是tab頁 5、C只能打開tabBar注冊的界面后言
剛接觸小程序沒幾天,有點瑟瑟發抖,有不對的地方還望小伙伴指正,共同成長。
這個小項目會持續更新,我會讓它更加完善,一些樣式和組件的抽離、請求的封裝等在后續會加上去。暫時就先這樣吧,以后有遇到問題再補充,希望明天入職愉快。
Paranoidyang/wx_shopping_mall
分享標題:一個商城小程序的踩坑之路
文章源于:http://m.newbst.com/news42/221542.html
成都網站建設公司_創新互聯,為您提供網站排名、網站維護、品牌網站制作、網站設計公司、電子商務、網站導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯
猜你還喜歡下面的內容