国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

微信小程序——基本語(yǔ)法

這篇具有很好參考價(jià)值的文章主要介紹了微信小程序——基本語(yǔ)法。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

WXML語(yǔ)法

WXML(WeiXin Markup Language)是框架設(shè)計(jì)的一套標(biāo)簽語(yǔ)言,結(jié)合基礎(chǔ)組件、事件系統(tǒng),可以構(gòu)建出頁(yè)面的結(jié)構(gòu)。

  1. 數(shù)據(jù)綁定
  <!--數(shù)據(jù)綁定使用 Mustache 語(yǔ)法(雙大括號(hào))將變量包起來(lái)-->
  <view> {{ message }} </view>
  <view id="item-{{id}}"> </view>
  <view wx:if="{{condition}}"> </view>
  <checkbox checked="{{false}}"> </checkbox>
  <!-- WXML 中的動(dòng)態(tài)數(shù)據(jù)均來(lái)自對(duì)應(yīng) Page 的 data-->
  Page({
    data: {
      message: 'Hello 微信小程序!',
  	id:0,
  	condition:false
    }
  })

注意事項(xiàng): 小程序中為單項(xiàng)數(shù)據(jù)流 model —> view
修改數(shù)據(jù): this.setData({message: ‘修改之后的數(shù)據(jù)’}, callback)

  1. 列表渲染
   <!--使用 wx:for 綁定一個(gè)數(shù)組,即可使用數(shù)組中各項(xiàng)的數(shù)據(jù)重復(fù)渲染該組件-->
   <!--默認(rèn)數(shù)組的當(dāng)前項(xiàng)的下標(biāo)變量名默認(rèn)為 index,數(shù)組當(dāng)前項(xiàng)的變量名默認(rèn)為 item-->
   <view wx:for="{{array}}">
     {{index}}: {{item.name}}
   </view>
   <!--
   	自定義
   	1.使用 wx:for-item 可以指定數(shù)組當(dāng)前元素的變量名
   	2.使用 wx:for-index 可以指定數(shù)組當(dāng)前下標(biāo)的變量名
   -->
   <view wx:for="{{array}}" wx:for-index="id" wx:for-item="itemName">
     {{id}}: {{itemName.name}}
   </view>
   
   Page({
     data: {
       array: [{
         name: '微信',
       }, {
         name: '小程序'
       }]
     }
   })

wx:for 也可以嵌套

   <view wx:for="{{[1, 2, 3, 4, 5, 6, 7, 8, 9]}}" wx:for-item="i">
     <view wx:for="{{[1, 2, 3, 4, 5, 6, 7, 8, 9]}}" wx:for-item="j">
       <view wx:if="{{i <= j}}">
         {{i}} * {{j}} = {{i * j}}
       </view>
     </view>
   </view>

<block/>標(biāo)簽上用wx:for,可以渲染一個(gè)包含多節(jié)點(diǎn)的結(jié)構(gòu)塊。

注意: <block/> 并不是一個(gè)組件,它僅僅是一個(gè)包裝元素,不會(huì)在頁(yè)面中做任何渲染,只接受控制屬性 。

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

wx:key用來(lái)指定列表中項(xiàng)目的唯一的標(biāo)識(shí)符。

wx:key 的值以兩種形式提供:1. 字符串,數(shù)組中的一個(gè)item的屬性,如id(唯一的字符串或者數(shù)字);2. 保留關(guān)鍵字*this,表示for循環(huán)中item本身(item本身需要是唯一的)。
當(dāng)數(shù)據(jù)改變觸發(fā)渲染層重新渲染的時(shí)候,會(huì)校正帶有 key 的組件,框架會(huì)確保他們被重新排序,而不是重新創(chuàng)建,以確保使組件保持自身的狀態(tài),并且提高列表渲染時(shí)的效率。
如不提供 wx:key,會(huì)報(bào)一個(gè) warning, 如果明確知道該列表是靜態(tài),或者不必關(guān)注其順序,可以選擇忽略。
3. 條件渲染
wx:if="" 用來(lái)判斷是否需要渲染該代碼塊。

   <view wx:if="{{condition}}">顯示</view>
   <!--也可以使用 wx:elif 和 wx:else -->
   <view wx:if="{{num>=90}}">A</view>
   <view wx:elif="{{num>=70}}">B</view>
   <view wx:elif="{{num>=60}}">C</view>
   <view wx:else>D</view>
   <!-- wx:if 是一個(gè)控制屬性,需要將它添加到一個(gè)標(biāo)簽上。如果要一次性判斷多個(gè)組件標(biāo)簽,可以使用一個(gè) 標(biāo)簽將多個(gè)組件包裝起來(lái),并在上邊使用 wx:if控制屬性。 -->
   <block wx:if="{{condition}}">
     <view> view1 </view>
     <view> view2 </view>
   </block>
   
   Page({
   	data:{
   		condition:true,
   		num:85
   	}
   })

wx:if VS hidden

hidden 用法: <view hidden='{{true}}'></view>

wx:if條件為 false 的時(shí)候不加載,條件切換的時(shí)候決定元素銷毀或者重新加載渲染 。

hidden 始終加載元素, 條件切換的時(shí)候決定元素的顯示和隱藏 。

注意: 1. 頻繁切換時(shí),建議使用hidden;2. 控制條件復(fù)雜時(shí),建議使用 wx:if 搭配wx:elif、wx:else進(jìn)行展示與隱藏的切換。

  1. 模板(template)

在模板中定義代碼片段,然后子啊不同的地方調(diào)用。

   <!--使用 name 屬性,作為模板的名字。然后在<template/>內(nèi)定義代碼片段-->
   <template name="msg">
   	<view>
       	<text> {{index}}: {{msg}} </text>
       	<text> Time: {{time}} </text>
       </view>
   </template>
   <!--使用 is 屬性,聲明需要的使用的模板,然后將模板所需要的 data 傳入-->
   <!--...item:對(duì)象解構(gòu)-->
   <template is="msg" data="{{...item}}"></template>
   
   Page({
     data: {
   	//數(shù)據(jù)源
       item: {
         index: 1,
         msg: '測(cè)試信息',
         time: '2022-05-20'
       }
     }
   })
  1. is 屬性可以使用{{item % 2 == 0 ? ‘even’ : ‘odd’}}( Mustache 語(yǔ)法),來(lái)動(dòng)態(tài)決定具體需要渲染哪個(gè)模板
  2. 模板擁有自己的作用域,只能使用 data 傳入的數(shù)據(jù)以及模板定義文件中定義的 <wxs/> 模塊。
  3. 引用
    WXML 提供兩種文件引用方式importinclude。
    1. import 只會(huì) import 目標(biāo)文件中定義的 template,而不會(huì) import 目標(biāo)文件 import 的 template。 微信小程序——基本語(yǔ)法
    2. include 可以將目標(biāo)文件除了 <template> <wxs/> 外的整個(gè)代碼引入,相當(dāng)于是拷貝到 include 位置 。

常用組件

組件 說(shuō)明
<view></view> 視圖容器(類似于HTML中的<div>
<icon></icon> 圖標(biāo)
<text></text> 文本
<button></button> 按鈕
<checkbox></checkbox> 復(fù)選框
<form></form> 表單
<input/> 輸入框
<radio></radio> 單選按鈕
<switch></switch> 開關(guān)選擇器
<picker></picker> 滾動(dòng)選擇器
<image></image> 圖片

詳見組件頁(yè)面:https://developers.weixin.qq.com/miniprogram/dev/component/

事件

什么是事件?

  • 事件是視圖層到邏輯層的通訊方式。
  • 事件可以將用戶的行為反饋到邏輯層進(jìn)行處理。
  • 事件可以綁定在組件上,當(dāng)達(dá)到觸發(fā)事件,就會(huì)執(zhí)行邏輯層中對(duì)應(yīng)的事件處理函數(shù)。
  • 事件對(duì)象可以攜帶額外信息,如 id, dataset, touches。

事件的使用方式

  1. 在組件中綁定一個(gè)事件處理函數(shù)

    <view id="tapTest" data-hi="Weixin" bindtap="tapName">點(diǎn)擊</view>
    
  2. 在響應(yīng)的Page定義中寫上相應(yīng)的事件處理函數(shù)

    Page({
        tapName:function(event){
            console.log(event.target.dataset.hi)
        }
    })
    

WXML的常用冒泡事件列表

事件類型 觸發(fā)條件
touchstart 手指觸摸動(dòng)作開始
touchmove 手指觸摸后移動(dòng)
touchcancel 手指觸摸動(dòng)作被打斷,如來(lái)電提醒,彈窗
touched 手指觸摸動(dòng)作結(jié)束
tap 手指觸摸后馬上離開
longpress 手指觸摸后,超過(guò)350ms再離開,如果指定了事件回調(diào)函數(shù)并觸發(fā)了這個(gè)事件,tap事件將不被觸發(fā)。
longtap 手指觸摸后,超過(guò)350ms再離開(推薦使用longpress事件代替)

綁定方式

  1. bind 綁定:事件綁定不會(huì)阻止冒泡事件向上冒泡 。
<view bindtap="handleTap" class='start_container'>
 	<text class='start'>開啟小程序之旅</text>
</view>
  1. catch 綁定: 事件綁定可以阻止冒泡事件向上冒泡 。
<view catchtap="handleTap" class='start_container'>
 	<text class='start'>開啟小程序之旅</text>
</view>

事件對(duì)象

組件觸發(fā)事件時(shí),邏輯層綁定該事件的處理函數(shù)會(huì)收到一個(gè)事件對(duì)象。
微信小程序——基本語(yǔ)法
微信小程序——基本語(yǔ)法
target 和 currentTarget中包含id和dataset屬性。
id 屬性:當(dāng)前組件的id 。
dataset屬性: 當(dāng)前組件上由data-開頭的自定義屬性組成的集合 ( 用于事件的邏輯處理 )。
在 WXML 中,這些自定義數(shù)據(jù)以 data- 開頭,多個(gè)單詞由連字符 - 連接。這種寫法中,連字符寫法會(huì)轉(zhuǎn)換成駝峰寫法,而大寫字符會(huì)自動(dòng)轉(zhuǎn)成小寫字符。如:
微信小程序——基本語(yǔ)法
為組件提供data-自定義屬性傳參,其中代表的是參數(shù)的名字。

event.target 和 event.currentTarget 的區(qū)別

  1. event.target 是觸發(fā)事件的對(duì)象,但不一樣是綁定事件的對(duì)象,如: 事件委托, 冒泡 。
  2. currentTarget 觸發(fā)時(shí)間的對(duì)象一定是綁定事件的對(duì)象, 沒有事件委托
    事件對(duì)象傳參
    微信小程序——基本語(yǔ)法

下拉刷新效果的實(shí)現(xiàn)

  1. 啟用下拉刷新有兩種方式:
    ①全局開啟下拉刷新
    在app.json的window節(jié)點(diǎn)中,將enablePullDownRefresh設(shè)置為true
    ②局部開啟下拉刷新
    在頁(yè)面的.json配置文件中,將enablePullDownRefresh設(shè)置為true

  2. 在全局或頁(yè)面的.json配置文件中,通過(guò)backgroundColor和backgroundTextStyle來(lái)配置下拉刷新窗口
    的樣式,其中:

    ? backgroundColor用來(lái)配置下拉刷新窗口的背景顏色,僅支持16進(jìn)制的顏色值
    ? backgroundTextStyle用來(lái)配置下拉刷新loading的樣式,僅支持dark和light

  3. 在頁(yè)面的.js 文件中,通過(guò)onPullDownRefresh()函數(shù)即可監(jiān)聽當(dāng)前頁(yè)面的下拉刷新事件。

  4. 停止刷新的效果

    當(dāng)處理完下拉刷新后,下拉刷新的loading效果會(huì)一-直 顯示,不會(huì)主動(dòng)消失,所以需要手動(dòng)隱藏loading效果。此時(shí),調(diào)用wx.stopPullDownRefresh()可以停止當(dāng)前頁(yè)面的下拉刷新。

上拉觸底事件

上拉觸底是移動(dòng)端的專有名詞,通過(guò)手指在屏幕上的.上拉滑動(dòng)操作,從而加載更多數(shù)據(jù)的行為。
微信小程序——基本語(yǔ)法
上拉觸底距離指的是觸發(fā)上拉觸底事件時(shí),滾動(dòng)條距離頁(yè)面底部的距離。
可以在全局或頁(yè)面的json配置文件中,通過(guò)onReachBottomDistance屬性來(lái)配置.上拉觸底的距離。
小程序默認(rèn)的觸底距離是50px,在實(shí)際開發(fā)中,可以根據(jù)自己的需求修改這個(gè)默認(rèn)值。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-484232.html

微信小程序開發(fā)小技巧

  1. 小程序的初學(xué)者可能對(duì)于小程序的官網(wǎng)的眾多內(nèi)容一時(shí)毫無(wú)頭緒,無(wú)從下手不知道從哪 來(lái)找想要的內(nèi)容
  2. 當(dāng)在小程序中想要實(shí)現(xiàn)某一種布局,查看:組件
  3. 當(dāng)在小程序中想要實(shí)現(xiàn)某一個(gè)功能,查看: API
  4. 當(dāng)在小程序中想要進(jìn)行某一個(gè)配置或者某一種頁(yè)面語(yǔ)法,查看: 框架 + 指南
  5. 查看小程序官網(wǎng)的時(shí)候要細(xì)心,最好是將要使用的 API 的相關(guān)內(nèi)容看完整,因?yàn)?API 的 配置及限制較多

到了這里,關(guān)于微信小程序——基本語(yǔ)法的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • uniapp打包微信小程序。報(bào)錯(cuò):https://api.weixin.qq.com 不在以下 request 合法域名列表

    uniapp打包微信小程序。報(bào)錯(cuò):https://api.weixin.qq.com 不在以下 request 合法域名列表

    場(chǎng)景:在進(jìn)行打包上傳測(cè)試時(shí),發(fā)現(xiàn)登錄失效,但在測(cè)試中【勾選不效應(yīng)合法域名】就可以。 出現(xiàn)原因:我在獲取到用戶code后,直接使用調(diào)用官方接口換取openid 解決方案: 可以把code帶給后端,讓他們返回token值

    2024年02月09日
    瀏覽(31)
  • XML(eXtensible Markup Language)

    XML(eXtensible Markup Language)

    目錄 為什么需要XML? 一 XML語(yǔ)法? 1.文檔聲明 2.元素 語(yǔ)法: ?3.屬性 ?4.注釋 5.CDATA節(jié) 二 樹結(jié)構(gòu) 三 轉(zhuǎn)義字符 四 DOM4J 1.XML解析技術(shù) 2.dom4j介紹 3.dom4j基本使用 XML 指可擴(kuò)展標(biāo)記語(yǔ)言(e X tensible? M arkup? L anguage)。 XML 被設(shè)計(jì)用來(lái)傳輸和存儲(chǔ)數(shù)據(jù),不用于表現(xiàn)和展示數(shù)據(jù),HTML 則用來(lái)

    2024年02月14日
    瀏覽(19)
  • 微信小程序:This Mini Program cannot be opened as your Weixin version is out-of-date.

    微信小程序:This Mini Program cannot be opened as your Weixin version is out-of-date.

    升級(jí)基礎(chǔ)庫(kù)3.2.0,然后PC端整個(gè)小程序都打不開了,點(diǎn)擊小程序提示 ”This Mini Program cannot be opened as your Weixin version is out-of-date. Update Weixin to the latest version.“ ,并且點(diǎn)擊 Update Weixin 按鈕沒有反應(yīng) pc基礎(chǔ)庫(kù)還沒那么高 PC端的隱私能力還未上線,也不會(huì)攔截隱私接口調(diào)用 這個(gè)問(wèn)題

    2024年02月03日
    瀏覽(22)
  • 微信小程序不在以下 request 合法域名列表中,請(qǐng)參考文檔:https://developers.weixin.qq.com/miniprogram/dev/framework/ability/n

    微信小程序不在以下 request 合法域名列表中,請(qǐng)參考文檔:https://developers.weixin.qq.com/miniprogram/dev/framework/ability/n

    出現(xiàn)不在以下 request 合法域名列表中,請(qǐng)參考文檔:https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html 如果時(shí)僅僅提供了http協(xié)議接口、暫時(shí)沒用提供https協(xié)議的接口 可以開啟[不校驗(yàn)合法域名、TLS版本以及HTTPS證書]的選項(xiàng) 只能在開發(fā)和調(diào)試使用,項(xiàng)目上線之后要勾

    2024年02月15日
    瀏覽(25)
  • 微信小程序基礎(chǔ)語(yǔ)法

    微信小程序基礎(chǔ)語(yǔ)法

    官方文檔:https://developers.weixin.qq.com/miniprogram/dev/framework/ bindtap data-xxx事件節(jié)點(diǎn)(xxx是節(jié)點(diǎn)名稱),ghp是事件節(jié)點(diǎn)數(shù)據(jù) bindtap用于綁定事件,clickButton是事件名 注意 :事件節(jié)點(diǎn)名稱統(tǒng)一是小寫,即使使用大寫,經(jīng)過(guò)解析也會(huì)變成小寫,比如上面我們定義的時(shí)間節(jié)點(diǎn)是myName,經(jīng)過(guò)

    2024年02月12日
    瀏覽(15)
  • 5-微信小程序語(yǔ)法參考

    5-微信小程序語(yǔ)法參考

    官網(wǎng)傳送門 WXML 中的動(dòng)態(tài)數(shù)據(jù)均來(lái)自對(duì)應(yīng) Page 的 data。 數(shù)據(jù)綁定使用 Mustache 語(yǔ)法( 雙大括號(hào) )將變量包起來(lái) ts WXML Mustache語(yǔ)法應(yīng)用場(chǎng)景 綁定內(nèi)容 綁定屬性 運(yùn)算(三元運(yùn)算、算術(shù)運(yùn)算) 邏輯判斷 字符串運(yùn)算 數(shù)據(jù)路徑運(yùn)算 注:微信小程序數(shù)據(jù)綁定與vue2的語(yǔ)法相同 官網(wǎng)傳送

    2024年01月18日
    瀏覽(16)
  • 微信小程序 事件和語(yǔ)法

    微信小程序 事件和語(yǔ)法

    ?屬性列表 微信小程序 事件綁定 在函數(shù)中調(diào)用data的值 傳遞參數(shù) 接收參數(shù) input 控制是否顯示 隱藏 wx:if 通過(guò)創(chuàng)建和溢出元素實(shí)現(xiàn) 控制條件復(fù)制時(shí)推薦 控制是否顯示 隱藏 wx:hidden 通過(guò)切換樣式方式實(shí)現(xiàn) 頻繁切換使用這個(gè) 循環(huán)字符 循環(huán)數(shù)組對(duì)象 指定key提高渲染速度

    2024年02月15日
    瀏覽(22)
  • 微信小程序(4)- 事件系統(tǒng)和模板語(yǔ)法

    1.1 事件綁定和事件對(duì)象 小程序中綁定事件與在網(wǎng)頁(yè)開發(fā)中綁定事件幾乎一致,只不過(guò)在小程序不能通過(guò) on 的方式綁定事件,也沒有 click 等事件, 小程序中綁定事件使用 bind 方法 ,click 事件也需要使用 tap 事件來(lái)進(jìn)行代替,綁定事件的方式有兩種: 第一種方式:bind:事件名

    2024年04月17日
    瀏覽(15)
  • 微信小程序中WXML模版語(yǔ)法-數(shù)據(jù)綁定方法介紹

    1.數(shù)據(jù)綁定的基本原則 1在data中定義數(shù)據(jù) 2在WXML中使用數(shù)據(jù) 2.在data中定義頁(yè)面的數(shù)據(jù) 在頁(yè)面對(duì)應(yīng)的.js文件中,把數(shù)據(jù)定義到data對(duì)象中即可: 3.Mustache語(yǔ)法的格式 把data中的數(shù)據(jù)綁定到頁(yè)面中渲染,使用Mustache語(yǔ)法(雙大括號(hào))將變量包起來(lái)即可。語(yǔ)法格式為: 4.Mustache語(yǔ)法的應(yīng)

    2024年02月12日
    瀏覽(23)
  • 微信小程序------WXML模板語(yǔ)法之條件渲染和列表渲染

    微信小程序------WXML模板語(yǔ)法之條件渲染和列表渲染

    目錄 前言 一、條件渲染 1.wx:if 2. 結(jié)合 使用 wx:if 3. hidden 4. wx:if 與 hidden 的對(duì)比 二、列表渲染 1. wx:for 2. 手動(dòng)指定索引和當(dāng)前項(xiàng)的變量名* 3. wx:key 的使用 ? ? ? ? 上一期我們講解wxml模版語(yǔ)法中的數(shù)據(jù)綁定和事件綁定(上一期鏈接:微信小程序-----WXML模板語(yǔ)法之?dāng)?shù)據(jù)綁定與事件

    2024年01月16日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包