搜尋
首頁微信小程式小程式開發小程式開發經驗的總結

小程式開發經驗的總結

Jun 15, 2020 am 10:20 AM
小程式

一、WXML


1.1:wx:if與wx:else

前端透過後端的介面取得資訊列表,如果有數據則展示數據內容,否則則顯示找不到資訊。 如果if-else使用布林值的狀態作這個開關的話,頁面會先出現false的狀態,再更新為true,也就是閃現找不到資訊的內容,這種互動不是很理想。

<view wx:if="{{true}}">
	<text>这是信息列表</text>
</view>
<view wx:else>
	<text>找不到信息</text>
</view>

最好的做法是使用下面這種,一開始設定info為null,

data:{
    info:null
}
<view wx:if="{{info === 1}}">
	<text>这是信息列表</text>
</view>
<view wx:if="{{info === 0}}">
	<text>找不到信息</text>
</view>

1.2:wx:for

for循環要新增wx:for-item="item" wx:key="item"

#1.3:block標籤

wx:if、wx:for、wx: else這些沒有樣式意義的語法盡量使用block

1.4:template元件模板

公共的頁面模組/元件,可直接在wxml使用,也可以使用import方式。如果涉及css,需要在wxss裡@import引入。

/**
* 方式一:直接使用
* 1. 给template 设置name属性
* 2. 组件传过来的值可以直接使用  hidden="{{!isloading}}"
*/
<template name="loading">
  <view class="weui-loadmore" hidden="{{!isloading}}">
    <view class="weui-loading"></view>
    <view class="weui-loadmore__tips">正在加载</view>
  </view> 
</template>

/** 
* 方式二:按路役引入 
* 1. is 等同方式一的name
* 2. data="{{isloading}}" 给template的数据
*/
<import src="../template/loading.wxml"/>
<template is="loading" data="{{isloading}}"></template>

1.5:腳本語言wxs

專門運行於wxml頁面的腳本語言,與javascript不同,不支援使用ES6語法,也不能引用js。

<wxs module="wxs" src="../../utils/wxs.wxs"></wxs>
module.exports = {
	//输出百分比
	formatProgress: function (c,m) {
		return c/m*100
	}
}

二、WXSS


#2.1:背景Icon

小程式的background 裡只能使用完整的https圖片路徑,專案中使用icon的方式:

  • 向量圖svg:具備完美的可擴展性,容易調整(顏色、大小等);

  • data-uri:圖片體積小於20Kb使用base64方式。 [前端圖片最優化的引入方式分析][segmentfault.com/a/119000001…]

  • 較大檔案:直接在wxml使用image標籤

  • 引入外部icon:如阿里巴巴向量圖庫,可使用網路路徑和下載到本地的方式來使用。

2.2:重設樣式

#2.3:font-family標準規格

font-family: 
/*西文:*/
-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Ubuntu,Helvetica Neue,Helvetica,Arial,
/*中文:*/
PingFang SC,Hiragino Sans GB,Microsoft YaHei UI,Microsoft YaHei,Source Han Sans CN,sans-serif;

#2.4:合理使用rpx單位

  • rpx 是相當於螢幕寬度百分比的相對單位,下列情況不建議使用:

  • font-size和border-width;animation動畫中涉及translate位移:部分機器在rpx轉成px出現小數時,如262.89px,微信會向下取值為262px,產生1px的差距。

  • canvas繪圖,如二維碼、分享圖片等。

三、JavaScript


#3.1:第二個封裝wx.request方法

3.2:頁面的生命週期

  • onLoad: 頁面加載,一個頁面只會呼叫一次。能獲得到頁面參數options。

  • onShow: 頁面顯示,每次開啟頁面都會呼叫一次,從後台切換前台也會呼叫一次:手機從熄畫面切回顯示畫面、從最小化回到最大化。

  • onReady: 頁面初次渲染完成,一個頁面只會呼叫一次,代表頁面已經準備妥當,可以和視圖層進行互動。

  • onHide: 頁面切換到後台、navigateTo 、 tab 切換時呼叫。

  • onUnload: 頁面卸載。當頁面被關閉或記憶體不足主動銷毀頁面。

3.3: new Date相容性

# 安卓能辨識new Date("2018-05-30 00:00:00 ")格式,但在IOS只能辨識2018/05/30 00:00:00格式。需要將短橫替換為斜線。 var iosDate= date.replace(/-/g, '/')。

3.4:冒泡事件

  • #bindtap :事件綁定不會阻止冒泡事件向上冒泡

  • catchtap:事件綁定可以阻止冒泡事件向上冒泡

四、小程式功能


4.1:canvas產生圖片

4.2:外掛程式的使用

4.3:頁面堆疊限制

#小程式的頁面堆疊最新版本限制為10個,超過10個之後無法進入下一個頁面。

故要慎用頁面數量,導航API要靈活結合wx.navigateTo、wx.redirectTo、wx.navigateBack

4.4:提示彈窗Dialog

  • #程式碼前面使用wx.hideLoading會導致後面的wx.showToast出不來。因為wx.showToast具備隱藏wx.showLoading()提示框的功能。

五、其它


#5.1:主流框架

  • ##mpvue:使用vue語法規格編譯成小程式和h5語法

  • Taro:基於react可同時編譯成小程式、h5、react-native等。

5.2:常用外掛

  • wxParse:富文本解析

##################################### #wx-charts:圖表工具############wxapp-qrcode:二維碼產生器############推薦教學:《###微信小程序###》###

以上是小程式開發經驗的總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:掘金社区。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),