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

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

這篇具有很好參考價值的文章主要介紹了【微信小程序】-- WXML 模板語法 - 事件綁定 -- tap & input (十)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

input tap,微信小程序開發(fā)教程,# 基礎(chǔ)篇,微信小程序,小程序,前端

  • ?? 所屬專欄:【微信小程序開發(fā)教程】

  • ?? 作??者:我是夜闌的狗??

  • ?? 個人簡介:一個正在努力學(xué)技術(shù)的CV工程師,專注基礎(chǔ)和實戰(zhàn)分享 ,歡迎咨詢!

  • ?? 歡迎大家:這里是CSDN,我總結(jié)知識的地方,喜歡的話請三連,有問題請私信 ?? ?? ??


前言

??大家好,又見面了,我是夜闌的狗??,本文是專欄【微信小程序開發(fā)教程】專欄的第10篇文章;
??今天開始學(xué)習(xí)微信小程序的第六天??????,開啟新的征程,記錄最美好的時刻??,每天進(jìn)步一點點。
??專欄地址:【微信小程序開發(fā)教程】, 此專欄是我是夜闌的狗微信小程序開發(fā)過程的總結(jié),希望能夠加深自己的印象,以及幫助到其他的小伙伴????。
??如果文章有什么需要改進(jìn)的地方還請大佬不吝賜教????。


一、事件

??前面已經(jīng)介紹完了WXML模板語法–數(shù)據(jù)綁定,基本上了解到了如何在WXML頁面上動態(tài)的顯示數(shù)據(jù)以及組件上的屬性控制等。接下來就來講解一下另外一個模板語法–事件綁定。話不多說,讓我們原文再續(xù),書接上回吧。

input tap,微信小程序開發(fā)教程,# 基礎(chǔ)篇,微信小程序,小程序,前端

1、事件的定義

??在一起學(xué)習(xí)小程序里事件怎么綁定之前,首先先來了解一下什么是事件?事件是渲染層到邏輯層的通訊方式。通過事件可以將用戶在渲染層產(chǎn)生的行為,反饋到邏輯層進(jìn)行業(yè)務(wù)的處理。

input tap,微信小程序開發(fā)教程,# 基礎(chǔ)篇,微信小程序,小程序,前端

??當(dāng)用戶在頁面上觸發(fā)按鈕點擊事件的時候,渲染層將觸發(fā)的事件通過微信客戶端傳給邏輯層(JS端)進(jìn)行處理。

2、小程序中常用的事件

??在小程序中常用的事件三種,分別是 tapinputchange 事件,相信大家對這些事件應(yīng)該都不會陌生,其中 tap 為點擊事件一般用得比較多。

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

??事件綁定方式有兩種,第一種是 bind + 類型,第二種是 bind: + 類型。但平時用最多的是第一種方式。

3、事件對象的屬性列表

??當(dāng)事件回調(diào)觸發(fā)的時候,會收到一個事件對象 event,它的詳細(xì)屬性如下表所示:

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

??在實際開發(fā)過程中,會經(jīng)常用到 event.target ,基本用得比較多的屬性都給標(biāo)紅了。

4、 target 和 currentTarget 的區(qū)別

?? 在對象 event 中,target 是觸發(fā)該事件的源頭組件,而 currentTarget 則是當(dāng)前事件所綁定的組件。通過下面的栗子來進(jìn)行詳細(xì)了解:

input tap,微信小程序開發(fā)教程,# 基礎(chǔ)篇,微信小程序,小程序,前端
??在WXML中在 view 組件內(nèi)部添加按鈕 button,當(dāng)點擊內(nèi)部的按鈕時,點擊事件以冒泡的方式向外擴(kuò)散,也會觸發(fā)外層 viewtap 事件處理函數(shù),簡而言之就是當(dāng)父元素設(shè)置了點擊事件時,子元素也能觸發(fā)。具體來看一下運行效果:

input tap,微信小程序開發(fā)教程,# 基礎(chǔ)篇,微信小程序,小程序,前端

??此時這兩個屬性就會有區(qū)別,對于內(nèi)部的 button 來說:

  • event.target 指向的是觸發(fā)事件的源頭組件,因此,event.target 是指向當(dāng)前組件 button
  • event.currentTarget 指向的是當(dāng)前正在觸發(fā)事件的那個組件,也就是綁定觸發(fā)事件的,因此,event.currentTarget 是指向外部組件 view ;

二、tap 事件

1、bindtap 的語法格式

??在小程序中,不存在 HTML 中的 onclick 鼠標(biāo)點擊事件,而是通過 tap 事件來響應(yīng)用戶的觸摸行為。結(jié)合上一個栗子,就會有個疑問:假設(shè)外內(nèi)部都設(shè)置有 tap 事件,實際效果會使怎么樣的呢?下面來進(jìn)行實踐一下。

cshPageTab.js:

??在頁面的 .js 文件中定義對應(yīng)的事件處理函數(shù),事件參數(shù)通過形參 event(可以簡寫成 e) 來接收:

Page({
  tabHandler(event){
    console.log("event.target =====>",event.target);
    console.log("event.currentTarget =====>",event.currentTarget);
  },
  btnTabHandler(event){
    console.log("button event.target =====>",event.target);
    console.log("button event.currentTarget =====>",event.currentTarget);
  }
})

cshPageTab.wxml:

??通過 bindtap 方式,可以為組件綁定 tap 觸摸事件,語法如下:

<view id="thisOut" class="view-click" bindtap="tabHandler">
  <button id="thisIn" type="primary" bindtap="btnTabHandler">CSH</button>
</view>

??這樣就實現(xiàn)了 tap 事件綁定了。

  • 點擊外部組件:

input tap,微信小程序開發(fā)教程,# 基礎(chǔ)篇,微信小程序,小程序,前端

  • 點擊內(nèi)部組件:

input tap,微信小程序開發(fā)教程,# 基礎(chǔ)篇,微信小程序,小程序,前端
??對比兩次點擊結(jié)果,可以發(fā)現(xiàn),內(nèi)外組件都設(shè)置了 tap 事件,點擊內(nèi)部按鈕都會一起觸發(fā)。

2、在事件處理函數(shù)中為 data 中的數(shù)據(jù)賦值

??當(dāng)我們想通過點擊來改變某個數(shù)值時,就可以調(diào)用 this.setData(dataObject) 方法,可以給頁面 data 中的數(shù)據(jù)重新賦值,可以通過下面的??來學(xué)習(xí)一下:

cshPageTab.js:

??通過 this.data 就能獲取當(dāng)前 data 里面的數(shù)據(jù),在刷新數(shù)值即可。

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

  // count + 6 的點擊事件處理函數(shù)
  btnCount(event){
    this.setData({
      count: this.data.count + 6
    })
  }
})

cshPageTab.wxml:

<view id="thisOut" class="view-click" bindtap="tabHandler">
  <button id="thisIn" type="primary" bindtap="btnTabHandler">CSH</button>
  <button type="primary" bindtap="btnCount">+6</button>
</view>

??可以來看一下實際效果:input tap,微信小程序開發(fā)教程,# 基礎(chǔ)篇,微信小程序,小程序,前端

3、事件傳參

??小程序中的事件傳參比較特殊,不能在綁定事件的同時為事件處理函數(shù)傳遞參數(shù)。比如下面的代碼是不能正常運行,在 Vue 里面這樣寫是沒有問題,但在小程序中是不行的。

  <button type="primary" bindtap="btnCount(123)">事件傳參</button>

??因為小程序 bindtap 后面引號內(nèi)容代表的是事件處理函數(shù)的名字理,相當(dāng)于要調(diào)用一個名稱為 btnCount(123) 的事件處理函數(shù)。

  • 傳遞參數(shù)

??那小程序怎么傳遞參數(shù)呢?這里就可以通過組件提供 data-* 自定義屬性傳參,其中 * 代表的是參數(shù)的名字,具體實現(xiàn)代碼如下:

  <button type="primary" bindtap="btnCountEvent" data-info="{{2}}">事件傳參</button>

??其中,info 會被解析為參數(shù)的名字,數(shù)值 2 會被解析為參數(shù)的值,如果這里不用雙括號,那接收到的參數(shù)會是字符串類型。

  • 獲取參數(shù)

??在事件處理函數(shù)中,通過 event.target.dataset.參數(shù)名 即可獲取到具體參數(shù)的值,具體實現(xiàn)代碼如下:

Page({
  btnCountEvent(event){
    // 通過 dataset 可以訪問到具體參數(shù)的值
    console.dir(event.target.dataset.info);
  },
})

??其中 dataset 是一個對象,里面包含了所有通過 data-* 傳遞過來的參數(shù)項??梢詠砜匆幌聦嶋H效果:

input tap,微信小程序開發(fā)教程,# 基礎(chǔ)篇,微信小程序,小程序,前端

三、input 事件

1、bindinput 的語法格式

??在小程序中,也可以對文本輸入框進(jìn)行綁定事件,通過 input 事件來響應(yīng)文本框的輸入事件,語法格式如下:

cshPageTab.js:

??在頁面的 .js 文件中定義事件處理函數(shù):

Page({
  btnInput(event){
    // event.detail.value 是變化后的值,文本框里最新的值
    console.dir("event.detail.value = " + event.detail.value);
  },
})

cshPageTab.wxml:
??在小程序中,通過 input 事件來響應(yīng)文本框的輸入事件,語法格式如下:

<input bindinput="btnInput"></input>

??可以來看一下實際效果:

input tap,微信小程序開發(fā)教程,# 基礎(chǔ)篇,微信小程序,小程序,前端

2、實現(xiàn)文本框和 data 之間的數(shù)據(jù)同步

??在實際開發(fā)過程中,文本框里的數(shù)據(jù)只要與data的數(shù)據(jù)要進(jìn)行同步。其實現(xiàn)流程可分為以下步驟:

  • Step 1、定義數(shù)據(jù)

cshPageTab.js:

Page({
  /**
   * 頁面的初始數(shù)據(jù)
   */
  data: {
    msg: "我是夜闌的狗,你好呀!",
  },
})
  • Step 2、渲染結(jié)構(gòu)

cshPageTab.wxml:

<input value="{{msg}}" bindinput="btnInput"></input>
  • Step 3、美化樣式

cshPageTab.wxss:

input{
  border: 1px solid rgb(161, 153, 153);
  padding: 5px;
  margin: 5px;
  border-radius: 3px;
}
  • Step 4、綁定 input 事件處理函數(shù)

cshPageTab.js:

??在頁面的 .js 文件中定義事件處理函數(shù),通過前面的栗子可以知道怎么刷新 data 里的值,所以只要獲取到文本框里最新的值,在將其重新給 msg 賦值即可。

Page({
  btnInput(event){
    // event.detail.value 是變化后的值,文本框里最新的值
    console.dir("event.detail.value = " + event.detail.value);
    // 通過event.detail.value獲取文本框最新的值,再給msg賦值
    this.setData({
      msg: event.detail.value,
    });
  },
})

??可以來看一下實際效果:

input tap,微信小程序開發(fā)教程,# 基礎(chǔ)篇,微信小程序,小程序,前端

??我的周末就這么沒了,啊啊啊啊

input tap,微信小程序開發(fā)教程,# 基礎(chǔ)篇,微信小程序,小程序,前端


總結(jié)

??感謝觀看,這里就是WXML 模板語法 - 事件綁定 – tap & input的介紹使用,如果覺得有幫助,請給文章點個贊吧,讓更多的人看到。?? ?? ??
input tap,微信小程序開發(fā)教程,# 基礎(chǔ)篇,微信小程序,小程序,前端
??也歡迎你,關(guān)注我。?? ?? ??

??原創(chuàng)不易,還希望各位大佬支持一下,你們的點贊、收藏和留言對我真的很重要!??!?? ?? ?? 最后,本文仍有許多不足之處,歡迎各位認(rèn)真讀完文章的小伙伴們隨時私信交流、批評指正!下期再見。??

更多專欄訂閱:

  • ?? 【LeetCode題解(持續(xù)更新中)】
  • ?? 【Java Web項目構(gòu)建過程】
  • ?? 【微信小程序開發(fā)教程】
  • ? 【JavaScript隨手筆記】
  • ?? 【大數(shù)據(jù)學(xué)習(xí)筆記(華為云)】
  • ?? 【程序錯誤解決方法(建議收藏)】
  • ?? 【軟件安裝教程】



訂閱更多,你們將會看到更多的優(yōu)質(zhì)內(nèi)容?。?/font>文章來源地址http://www.zghlxwxcb.cn/news/detail-791022.html

到了這里,關(guān)于【微信小程序】-- WXML 模板語法 - 事件綁定 -- tap & input (十)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 微信小程序------WXML模板語法之條件渲染和列表渲染

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

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

    2024年01月16日
    瀏覽(33)
  • 【微信小程序】-- WXML 模板語法 - 條件渲染 -- wx:if & hidden (十一)

    【微信小程序】-- WXML 模板語法 - 條件渲染 -- wx:if & hidden (十一)

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

    2024年02月05日
    瀏覽(38)
  • 【微信小程序】-- WXML 模板語法 - 列表渲染 -- wx:for & wx:key(十二)

    【微信小程序】-- WXML 模板語法 - 列表渲染 -- wx:for & wx:key(十二)

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

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

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

    2024年04月17日
    瀏覽(15)
  • 小程序 模板語法和事件綁定

    小程序 模板語法和事件綁定

    WXML(WeiXin Markup Language)是框架設(shè)計的?套標(biāo)簽語?,結(jié)合基礎(chǔ)組件、事件系統(tǒng),可以構(gòu)建出??的結(jié)構(gòu)。 普通寫法 在index.wxml中去清空所有內(nèi)容,添加以下內(nèi)容。 在index.js中去清空所有內(nèi)容,添加以下內(nèi)容。 組件屬性 在index.wxml中去清空所有內(nèi)容,添加以下內(nèi)容。 在index.

    2024年01月17日
    瀏覽(23)
  • 【微信小程序】wxml模板的使用

    目錄 一,wxml模板 1.什么是 WXML 2. 什么是 WXSS 3.WXSS 和 CSS 的區(qū)別 4 .JS 邏輯交互 二,小程序的宿主環(huán)境 1.宿主環(huán)境簡介 1.什么是宿主環(huán)境 2. 小程序的宿主環(huán)境 3.宿主環(huán)境包含內(nèi)容 2 通信模型

    2024年02月04日
    瀏覽(26)
  • 微信小程序?qū)W習(xí)實錄1(wxml文檔、引入weui、雙向數(shù)據(jù)綁定、提交表單到后端)

    微信小程序?qū)W習(xí)實錄1(wxml文檔、引入weui、雙向數(shù)據(jù)綁定、提交表單到后端)

    wx:for 在組件上使用 wx:for 控制屬性綁定一個數(shù)組,即可使用數(shù)組中各項的數(shù)據(jù)重復(fù)渲染該組件。 默認(rèn)數(shù)組的當(dāng)前項的下標(biāo)變量名默認(rèn)為 index,數(shù)組當(dāng)前項的變量名默認(rèn)為 item 使用 wx:for-item 可以指定數(shù)組當(dāng)前元素的變量名, 使用 wx:for-index 可以指定數(shù)組當(dāng)前下標(biāo)的變量名: 在

    2024年02月02日
    瀏覽(90)
  • 【小程序教程】微信小程序的事件處理和交互邏輯(tap logpress touchmove input submint事件&冒泡與捕捉最詳細(xì)講解)

    為什么要學(xué)習(xí)事件處理和交互邏輯? 事件處理和交互邏輯在小程序開發(fā)中扮演著至關(guān)重要的角色。以下是幾個原因: 提升用戶體驗:良好的事件處理和交互邏輯可以使小程序更加易用和友好,提升用戶體驗。通過合理設(shè)置事件觸發(fā)條件和交互效果,可以使用戶操作更加順暢

    2024年02月04日
    瀏覽(33)
  • 如何為微信小程序添加WXML模板和自定義組件

    微信小程序是一種基于微信平臺的應(yīng)用開發(fā)框架,開發(fā)者可以使用小程序框架提供的組件、API和開發(fā)工具,快速開發(fā)出符合微信用戶體驗的小程序。 在小程序中,WXML(WeiXin Markup Language)是一種類似HTML的標(biāo)記語言,用于描述小程序的結(jié)構(gòu)。WXML的語法和HTML非常相似,但是有一

    2024年03月19日
    瀏覽(30)
  • 微信小程序事件綁定

    微信小程序事件綁定

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

    2023年04月08日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包