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

微信小程序?qū)W習之數(shù)據(jù)綁定,事件綁定,事件傳參與數(shù)據(jù)同步的學習記錄

這篇具有很好參考價值的文章主要介紹了微信小程序?qū)W習之數(shù)據(jù)綁定,事件綁定,事件傳參與數(shù)據(jù)同步的學習記錄。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1. 數(shù)據(jù)綁定

數(shù)據(jù)綁定的基本原則:在data中定義數(shù)據(jù),在wxml中使用數(shù)據(jù)

1.1. 在data中定義數(shù)據(jù)

在data中定義數(shù)據(jù),找到頁面對應的.js文件,然后把數(shù)據(jù)定義到data中即可。

pages/list/list.js

// pages/list/list.js
Page({

  /**
   * 頁面的初始數(shù)據(jù)
   */
  data: {
    // 字符串類型的數(shù)據(jù)、
    info:'init data',
    // 數(shù)組類型的數(shù)據(jù)
    msgList:[{msg:'hello'},{msg:'world'}],
    numberA:Math.random()*10,
    ImageSrc:'./kl.jpg'
  },
  //.....
})

1.2. 在wxml中渲染數(shù)據(jù) (mustache語法)

mustache語法,插值表達式
將data中的數(shù)據(jù)綁定到頁面中渲染,使用mustache語法即雙大括號{{}}將變量包起來即可。
{{要綁定的數(shù)據(jù)名稱}}

mustache語法可以動態(tài)的綁定內(nèi)容和屬性,例如:

<!-- 將當前頁面的.js文件中的data中的info屬性取出來 -->
<view>{{info}}</view>
<!-- 將當前頁面中的.js文件中的data中的ImageSrc屬性取出來-->
<image src="{{ImageSrc}}"></image>

mustache語法,還可以做一些基礎的運算加減乘除,以及三元表達式

<view>{{3+2}}</view>
<view>{{3-2}}</view>
<view>{{3*2}}</view>
<view>{{3/2}}</view>
<view>{{3>2 ? '3大于2' : '3小于2'}}</view>
<view>{{numberA}}</view>
<view>{{numberA>5 ? '大于5' : '小于5'}}</view>

微信小程序?qū)W習之數(shù)據(jù)綁定,事件綁定,事件傳參與數(shù)據(jù)同步的學習記錄,微信小程序,微信小程序,學習,小程序

2. 事件綁定

2.1. 事件

事件即從渲染層到邏輯層的通信方式。通俗的說就是你在前臺頁面做了什么,需要觸發(fā)哪些行為。

微信小程序?qū)W習之數(shù)據(jù)綁定,事件綁定,事件傳參與數(shù)據(jù)同步的學習記錄,微信小程序,微信小程序,學習,小程序

2.2. 常用的事件

類型 綁定方式 事件描述
tap bindtap 或 bind:tap 手指觸摸后馬上離開,類似HTML中的click事件
input bindinput 或 bind:input 文本框的輸入事件
change bindchange 或 bind:change 狀態(tài)改變時觸發(fā)

2.3. 事件對象的屬性列表

當事件回調(diào)觸發(fā)時,會收到一個事件對象event

list.wxml

<view>
  <!-- 為button按鈕綁定一個tap事件,且事件名叫btnTapHandler -->
  <button type="primary" bindtap="btnTapHandler"></button>
</view>

list.js

// pages/list/list.js
Page({

  /**
   * 頁面的初始數(shù)據(jù)
   */
  data: {
   //......
  },

  // 綁定的事件函數(shù)  且將event對象傳入,并且在控制臺打印輸出
  btnTapHandler(e){
    console.log(e)
  },
})

控制臺輸出:

微信小程序?qū)W習之數(shù)據(jù)綁定,事件綁定,事件傳參與數(shù)據(jù)同步的學習記錄,微信小程序,微信小程序,學習,小程序

屬性列表如下:

屬性 類型 說明
tyre String 事件類型
timeStamp Integer 頁面打開到觸發(fā)事件所經(jīng)過的毫秒數(shù)
target Object 觸發(fā)事件的組件的一些屬性值集合
currentTarget Object 當前組件的一些屬性值集合
detail Object 額外的信息
touches Array 觸摸事件,當前停留在屏幕中的觸摸點信息的數(shù)組
changedTouches Array 觸摸事件,當前變化的觸摸點信息的數(shù)組

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

target 是觸發(fā)該事件的源頭組件,curretTarget是當前事件綁定的組件。
例如下面的例子:

list.wxml

<view style="background-color:lightgreen;" bindtap="outerHandler">
  <button type="primary">按鈕</button>
  <text>文字</text>
</view>

list.js

// pages/list/list.js
Page({

  /**
   * 頁面的初始數(shù)據(jù)
   */
  data: {
   //......
  },

  // 綁定的事件函數(shù)  且將event對象傳入,并且在控制臺打印輸出
  outerHandler(e){
    console.dir(e.target)
    console.dir(e.currentTarget)
  },
})

微信小程序?qū)W習之數(shù)據(jù)綁定,事件綁定,事件傳參與數(shù)據(jù)同步的學習記錄,微信小程序,微信小程序,學習,小程序

  1. 當我們嘗試點擊(觸摸按鈕時),會輸出下面的內(nèi)容
    微信小程序?qū)W習之數(shù)據(jù)綁定,事件綁定,事件傳參與數(shù)據(jù)同步的學習記錄,微信小程序,微信小程序,學習,小程序

  2. 我們觸摸text組件時,會輸出下面的內(nèi)容
    微信小程序?qū)W習之數(shù)據(jù)綁定,事件綁定,事件傳參與數(shù)據(jù)同步的學習記錄,微信小程序,微信小程序,學習,小程序

  3. 觸摸view組件時,輸出下面的內(nèi)容
    微信小程序?qū)W習之數(shù)據(jù)綁定,事件綁定,事件傳參與數(shù)據(jù)同步的學習記錄,微信小程序,微信小程序,學習,小程序

對比得出,e.target就是你觸摸的組件,e.currentTarget就是你當前事件綁定的組件(view)
點擊內(nèi)部的按鈕時,點擊事件以冒泡的方式向外擴散,也會觸發(fā)外層view的tap事件處理函數(shù)。

3. 事件傳參與數(shù)據(jù)綁定

事件傳參與數(shù)據(jù)綁定幾乎和vue差不多

3.1. 在事件處理函數(shù)中給data中的數(shù)據(jù)賦值

例如:點擊一個按鈕,將data中的某個數(shù)值加一,同時頁面中的數(shù)據(jù)也通過插值表達式動態(tài)渲染出來并且實時變化。

list.wxml

<view>
  <text style="text-align: center;margin-left: 100px;">{{count}}</text>
  <button bindtap="countAdd" type="primary">點我+1</button>
</view>

list.js

// pages/list/list.js
Page({

  /**
   * 頁面的初始數(shù)據(jù)
   */
  data: {
   count:0
  },

  countAdd(){
    this.setData({count:this.data.count+1})
  },
  //....
)}

微信小程序?qū)W習之數(shù)據(jù)綁定,事件綁定,事件傳參與數(shù)據(jù)同步的學習記錄,微信小程序,微信小程序,學習,小程序

3.2. 事件傳參(通過自定義屬性的方式)

在微信小程序綁定事件時,綁定的是事件名,所以無法通過綁定事件時傳遞參數(shù),但是可以通過自定義屬性來傳遞參數(shù) data-* 的方式

錯誤的事件傳參

<button bindtap="btnTapHandler(123)">點我傳遞參數(shù)</button>

上面的這種寫法,會讓微信小程序誤以為 “btnTapHander(123)” 是一個函數(shù)名,從而去該頁面所在的.js文件中查找是否存在 名為 “btnTapHander(123)” 的函數(shù)。

正確的事件傳參:

<!-- data-* *是data中存在的數(shù)據(jù)名 {{123}} 將被解析為數(shù)字123,即參數(shù)的值 -->
<button bindtap="btnTapHandler" data-number="{{123}}">點我傳遞參數(shù)</button>

3.3. 獲取事件傳遞的參數(shù)值

在事件處理函數(shù)中,通過event.target.dataset.參數(shù)名即可獲取具體的參數(shù)值。

例如,獲取上面的按鈕傳遞過來名為number的參數(shù)值

btnTapHandler(e){
  // e 為事件對象
  // dataset 也是一個對象,包含了所有通過data-* 傳遞過來的參數(shù)
  console.log(e.target.dataset)
  // 獲取自定義屬性number的值
  console.log(e.target.dataset.number)
}

微信小程序?qū)W習之數(shù)據(jù)綁定,事件綁定,事件傳參與數(shù)據(jù)同步的學習記錄,微信小程序,微信小程序,學習,小程序

3.4. 文本框與data之間的數(shù)據(jù)同步

3.4.1. input輸入框事件及獲取即時的輸入框數(shù)據(jù)

input 輸入框 的事件可以通過bindinput來綁定,然后數(shù)據(jù)獲取則通過函數(shù)回調(diào)event對象,再通過event.detail.value來獲取輸入框即時的數(shù)據(jù)。

事件綁定 (list.wxml)

<view>
  <!-- 注意事件名別和內(nèi)置的函數(shù)名重名 -->
  <input bindinput="inputHandlerA"/>
</view>

數(shù)據(jù)獲取 (list.js)

inputHandlerA(e){
  console.log(e.detail.value)
}

微信小程序?qū)W習之數(shù)據(jù)綁定,事件綁定,事件傳參與數(shù)據(jù)同步的學習記錄,微信小程序,微信小程序,學習,小程序

微信小程序?qū)W習之數(shù)據(jù)綁定,事件綁定,事件傳參與數(shù)據(jù)同步的學習記錄,微信小程序,微信小程序,學習,小程序

3.4.2. 文本框與data數(shù)據(jù)同步的小demo

例子:input輸入框輸入數(shù)據(jù),頁面同時刷新,輸入框也刷新

  1. 定義數(shù)據(jù) (list.js)
Page({
   data: {
     msg:'你好!'
  },
})
  1. 渲染結(jié)構(gòu) (list.wxml)
<view>
  <text>{{msg}}</text>
  <input value="{{msg}}" bindinput="inputHandlerA"/>
</view>
  1. 美化樣式 (list.wxss)
/* pages/list/list.wxss */
input{
  border: 1px solid #eee;
  padding: 5px;
  margin: 5px;
  border-radius: 3px;
}
text{
  padding: 5px;
  margin: 5px;
  border-radius: 3px;
}
  1. 綁定input事件處理函數(shù) (list.js)
 inputHandlerA(e){
    this.setData({
      msg:e.detail.value
    })
  },

默認效果:
微信小程序?qū)W習之數(shù)據(jù)綁定,事件綁定,事件傳參與數(shù)據(jù)同步的學習記錄,微信小程序,微信小程序,學習,小程序

嘗試輸入或者刪除重新輸入的效果:
微信小程序?qū)W習之數(shù)據(jù)綁定,事件綁定,事件傳參與數(shù)據(jù)同步的學習記錄,微信小程序,微信小程序,學習,小程序

效果驗證,數(shù)據(jù)同步即時刷新文章來源地址http://www.zghlxwxcb.cn/news/detail-545312.html


到了這里,關于微信小程序?qū)W習之數(shù)據(jù)綁定,事件綁定,事件傳參與數(shù)據(jù)同步的學習記錄的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • 微信小程序wxml的數(shù)據(jù)和事件的綁定,以及條件和列表的渲染

    微信小程序wxml的數(shù)據(jù)和事件的綁定,以及條件和列表的渲染

    關于微信小程序知識點一共做了六個博客,涵蓋大部分內(nèi)容,有想學習的可以按照以下順序查看 1.微信小程序的啟動和渲染過程(加組件分類和組件的基本使用以及API分類) 2.微信小程序wxml的數(shù)據(jù)和事件的綁定,以及條件和列表的渲染 3.微信小程序wxss相關介紹、全局配置和tabbar知識

    2024年02月10日
    瀏覽(30)
  • 微信小程序(二)--- 數(shù)據(jù)綁定,事件綁定,全局配置window,tabBar,網(wǎng)絡數(shù)據(jù)請求,request合法域名,GET,POST

    微信小程序(二)--- 數(shù)據(jù)綁定,事件綁定,全局配置window,tabBar,網(wǎng)絡數(shù)據(jù)請求,request合法域名,GET,POST

    目錄 一、WXML模板語法 1、數(shù)據(jù)綁定 (1)Mustache語法 2、事件綁定 ?(1)常用事件 ?(2)屬性列表 ?(3)target和currentTarget的區(qū)別 ?(4)bindtap語法格式 ?(5)在事件處理函數(shù)中為data中的數(shù)據(jù)賦值 (6)事件傳參 (7)bindinput的語法格式 (8)實現(xiàn)文本框(input)和data之間的數(shù)

    2024年02月04日
    瀏覽(20)
  • 微信小程序事件綁定

    微信小程序事件綁定

    事件是渲染層到邏輯層的通訊方式。通過事件可以將用戶在渲染層產(chǎn)生的行為,反饋到邏輯層進行業(yè)務的處理。 當事件回調(diào)觸發(fā)的時候,會收到一個事件對象 event,它的詳細屬性如下表所示。 target 是觸發(fā)該事件的源頭組件,而 currentTarget 則是當前事件所綁定的組件。 點擊內(nèi)

    2023年04月08日
    瀏覽(21)
  • 微信小程序(二)事件綁定

    微信小程序(二)事件綁定

    注釋很詳細,直接上代碼 上一篇 新增內(nèi)容: 點擊事件綁定 注冊頁面 設置頁面初始化數(shù)據(jù) 事件處理函數(shù)的實現(xiàn) 更新數(shù)據(jù)并更新視圖 源碼: index.wxml index.js 效果演示: 按鈕點擊前 按鈕點擊后 下一篇

    2024年01月17日
    瀏覽(20)
  • 【微信小程序】一文解憂,事件綁定

    【微信小程序】一文解憂,事件綁定

    ?? 觀眾老爺們好呀,小程序系列的新文章又來啦,即使是暑假也不能停止學習呀!上文我們詳細了解了微信小程序WXML模板語法中的數(shù)據(jù)綁定,小程序中的事件綁定也是我們必須掌握的方法。 ?? 那么現(xiàn)在我們就開始學習吧,小本本快拿出來記筆記呀。 首先我們來理清事件的

    2024年02月02日
    瀏覽(21)
  • 【小程序教程】微信小程序之事件綁定

    微信小程序的事件綁定是非常重要的一部分,它可以讓我們的小程序與用戶進行交互,實現(xiàn)各種功能,例如點擊按鈕、滑動頁面、輸入內(nèi)容等等。本篇博文將詳細介紹微信小程序如何進行事件綁定,并且給出相關的代碼示例,方便大家理解。 在微信小程序中,通過在標簽上綁

    2024年02月04日
    瀏覽(20)
  • 【微信小程序---綁定事件bindtap跳轉(zhuǎn)】

    【微信小程序---綁定事件bindtap跳轉(zhuǎn)】

    1.所需要跳轉(zhuǎn)的頁面進行 bindtap=“f0” 綁定所需要的地方 2.在js頁面進行 f0:function(event){函數(shù)指向功能} 以上是綁定按鈕跳轉(zhuǎn)事件 wx.navigateTo() 保留當前頁面 ,跳轉(zhuǎn)到指定頁面 可以返回到原頁面 wx.redirectTo() 關閉當前頁面 ,跳轉(zhuǎn)指定頁面? 不能返回 wx.switchTab()?跳轉(zhuǎn)到 tabBar 頁面

    2024年02月10日
    瀏覽(95)
  • 【微信小程序】通過綁定點擊事件來實現(xiàn)點擊交互

    在微信小程序中,可以通過綁定點擊事件來實現(xiàn)點擊交互。以下是點擊事件的實現(xiàn)步驟: 在WXML文件中,找到需要綁定點擊事件的元素,例如按鈕、圖片等。 在該元素上添加 bindtap 屬性,并指定一個對應的事件處理函數(shù),例如: 在對應的頁面或組件的JS文件中,定義事件處理

    2024年02月14日
    瀏覽(99)
  • 【無標題】微信小程序如果VIEW綁定點擊事件

    微信小程序如果VIEW綁定點擊事件,而且綁定的VIEW中存在許多子元素,會出現(xiàn)一下問題: 在回調(diào)函數(shù)中使用e.target來獲取消息,雖然觸發(fā)了點擊事件,但是傳遞的消息是空值,只有點擊在空白區(qū)域才會返回有效值。 解決方法:使用e.currentTarget來獲取消息。 js回調(diào)函數(shù): wxml代

    2024年02月08日
    瀏覽(96)
  • 【微信小程序】-- WXML 模板語法 - 事件綁定 -- tap & input (十)

    【微信小程序】-- WXML 模板語法 - 事件綁定 -- tap & input (十)

    ?? 所屬專欄:【微信小程序開發(fā)教程】 ?? 作??者:我是夜闌的狗?? ?? 個人簡介:一個正在努力學技術(shù)的CV工程師,專注基礎和實戰(zhàn)分享 ,歡迎咨詢! ?? 歡迎大家:這里是CSDN,我總結(jié)知識的地方,喜歡的話請三連,有問題請私信 ?? ?? ?? ??大家好,又見面了,

    2024年02月01日
    瀏覽(27)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領取紅包

二維碼2

領紅包