微信小程式前端頁面書寫

来源:https://www.cnblogs.com/pythonywy/archive/2019/09/23/11574295.html
-Advertisement-
Play Games

微信小程式前端頁面書寫 WXML(WeiXin Markup Language)是框架設計的一套標簽語言,結合 "基礎組件" 、 "事件系統" ,可以構建出頁面的結構。 一.數據綁定 1. 普通寫法 2. 組件屬性 簡直和上面沒區別啊 3. bool類型 不要直接寫 checked="false", ...


微信小程式前端頁面書寫

WXML(WeiXin Markup Language)是框架設計的一套標簽語言,結合基礎組件事件系統,可以構建出頁面的結構。

一.數據綁定

1. 普通寫法

<view> {{ message }} </view>
Page({
  data: {
    message: 'Hello MINA!'
  }
})

2. 組件屬性

**簡直和上面沒區別啊**
<view id="item-{{id}}"> </view>
Page({
  data: {
    id: 0
  }
})

3. bool類型

不要直接寫 checked="false",其計算結果是一個字元串

<checkbox checked="{{false}}"> </checkbox>

二. 運算

1. 三元運算

<view hidden="{{flag ? true : false}}"> Hidden </view>

2. 算數運算

<view> {{a + b}} + {{c}} + d </view>
Page({
  data: {
    a: 1,
    b: 2,
    c: 3
  }
})

3. 邏輯判斷

<view wx:if="{{length > 5}}"> </view>

4. 字元串運算

<view>{{"hello" + name}}</view>
Page({
  data:{
    name: 'MINA'
  }
})

三. 列表渲染

1. wx:for

項的變數名預設為 item wx:for-item 可以指定數組當前元素的變數名

下標變數名預設為 index wx:for-index 可以指定數組當前下標的變數名

<view wx:for="{{array}}">
  {{index}}: {{item.message}}
</view>
Page({
  data: {
    array: [{
      message: 'foo',
    }, {
      message: 'bar'
    }]
  }
})

2. wx:for

渲染一個包含多節點的結構塊 block最終不會變成真正的dom元素

<block wx:for="{{[1, 2, 3]}}">
  <view> {{index}}: </view>
  <view> {{item}} </view>
</block>

3. wx:key

提高效率使用的

四. 條件渲染

1. wx:if

在框架中,使用 wx:if="{{condition}}" 來判斷是否需要渲染該代碼塊:

<view wx:if="{{condition}}"> True </view>

也可以用 wx:elifwx:else 來添加一個 else 塊:

<view wx:if="{{length > 5}}"> 1 </view>
<view wx:elif="{{length > 2}}"> 2 </view>
<view wx:else> 3 </view>

block wx:if

因為 wx:if 是一個控制屬性,需要將它添加到一個標簽上。如果要一次性判斷多個組件標簽,可以使用一個 <block/> 標簽將多個組件包裝起來,併在上邊使用 wx:if 控制屬性。

<block wx:if="{{true}}">
  <view> view1 </view>
  <view> view2 </view>
</block>

註意: <block/> 並不是一個組件,它僅僅是一個包裝元素,不會在頁面中做任何渲染,只接受控制屬性。

2. hidden

hidden 就簡單的多,組件始終會被渲染只是簡單的控制顯示與隱藏

<view hidden="{{condition}}"> True </view>

類似 wx:if 不同是hiden控制顯影,而if控制是否渲染

因此,如果需要頻繁切換的情景下,用 hidden 更好,如果在運行時條件不大可能改變則 wx:if 較好。

五.特殊標簽

1.text

<!-- <text> </text>  相當於span標簽 -->

2.view

<!-- <view></view>    相當於div標簽 -->

3.block

 <!--block標簽就是只顯示內容不會嵌套任何標簽 -->

4. image

圖片標簽,image組件預設寬度320px、高度240px

註意:該標簽 其實是 web中的 圖片標簽 和 背景圖片的結合!!! 並且不支持以前的web中的背景圖片的寫法!!!

屬性名 類型 預設值 說明
src String 圖片資源地址,支持雲文件ID(2.2.3起)
mode String 'scaleToFill' 圖片裁剪、縮放的模式
lazy-load Boolean false 圖片懶載入。只針對page與scroll-view下的image有效

mode 有效值:

mode 有 13 種模式,其中 4 種是縮放模式,9 種是裁剪模式。

模式 說明
縮放 scaleToFill 不保持縱橫比縮放圖片,使圖片的寬高完全拉伸至填滿 image 元素
縮放 aspectFit 保持縱橫比縮放圖片,使圖片的長邊能完全顯示出來。
縮放 aspectFill 保持縱橫比縮放圖片,只保證圖片的短邊能完全顯示出來。
縮放 widthFix 寬度不變,高度自動變化,保持原圖寬高比不變
裁剪 top 不縮放圖片,只顯示圖片的頂部區域
裁剪 bottom 不縮放圖片,只顯示圖片的底部區域
裁剪 center 不縮放圖片,只顯示圖片的中間區域
裁剪 left 不縮放圖片,只顯示圖片的左邊區域
裁剪 right 不縮放圖片,只顯示圖片的右邊區域
裁剪 top left 不縮放圖片,只顯示圖片的左上邊區域
裁剪 top right 不縮放圖片,只顯示圖片的右上邊區域
裁剪 bottom left 不縮放圖片,只顯示圖片的左下邊區域
裁剪 bottom right 不縮放圖片,只顯示圖片的右下邊區域

5, swiper

微信內置有輪播圖組件

預設寬度 100% 高度 150px

屬性名 類型 預設值 說明
indicator-dots Boolean false 是否顯示面板指示點
indicator-color Color rgba(0, 0, 0, .3) 指示點顏色
indicator-active-color Color #000000 當前選中的指示點顏色
autoplay Boolean false 是否自動切換
interval Number 5000 自動切換時間間隔
circular Boolean false 是否採用銜接滑動

6.swiper-item

滑塊

預設寬度和高度都是100%

7.video

視頻。該組件是原生組件,使用時請註意相關限制。

屬性名 類型 預設值 說明
src String 要播放視頻的資源地址,支持雲文件ID(2.2.3起)
duration Number 指定視頻時長
controls Boolean true 是否顯示預設播放控制項(播放/暫停按鈕、播放進度、時間)
autoplay Boolean false 是否自動播放
loop Boolean false 是否迴圈播放
muted Boolean false 是否靜音播放
<video src="{{src}}" controls></video>

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • "使用CoordinatorLayout打造各種炫酷的效果" "自定義Behavior —— 仿知乎,FloatActionButton隱藏與展示" "NestedScrolling 機制深入解析" " 一步步帶你讀懂 CoordinatorLayout 源碼" "自定義 Behavior 仿新浪微 ...
  • 近期有空,玩轉React Native。 https://github.com/andyc365/ReactNativeMessager React Native Messager A React Native based cross-platform messenger(Messager) app ...
  • 用redux有一段時間了,感覺還是有必要把其相關的知識點系統的總結一下的,畢竟好記性不如爛筆頭。上篇博客更新了關於《ES6中的迭代器、Generator函數以及Generator函數的非同步操作》的內容,該內容時saga的基礎,稍後會總結saga相關知識點。循序漸進,本篇博客主要總結的是Redux相關 ...
  • 1. 一級函數 first class functions 1. 函數是一個對象 1. 2. 函數是一級函數,函數可以 1. 存儲在變數中\(函數表達式\) 2. 從一個函數返回 3. 作為參數傳遞給另一個函數\(回調\) 3. 高階函數 higher order function 1. 返回另一個 ...
  • [TOC] 1. 字元串和數值之間轉換 1.字元串轉數值 2.數值轉字元串 2. 對象(object) 2.1 對象的創建方式 1.使用對象 字面量 創建方式。 對象字面量是對象定義的一種簡寫形式,目的在於簡化創建包含大量屬性的對象的過程。 2.使用new操作符後跟Object 構造函數 2.2 訪 ...
  • ECharts grid組件離容器的距離 由 Carrie 創建, 最後一次修改 2017-09-04 ECharts grid組件離容器的距離 ECharts grid組件離容器的距離 由 Carrie 創建, 最後一次修改 2017-09-04 grid.left | string, numbe ...
  • 微信小程式中事件 一.常見的事件有 | 類型 | 觸發條件 | 最低版本 | | | | | | touchstart | 手指觸摸動作開始 | | | touchmove | 手指觸摸後移動 | | | touchcancel | 手指觸摸動作被打斷,如來電提醒,彈窗 | | | touchend ...
  • 微信小程式前端樣式WXSS書寫 一. WXSS的簡單介紹 WXSS(WeiXin Style Sheets)是一套樣式語言,用於描述 WXML 的組件樣式。 與 CSS 相比,WXSS 擴展的特性有: 尺寸單位 樣式導入 二. 尺寸單位 rpx(responsive pixel): 可以根據屏幕寬度 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...