微信小程序51~60

1.界面交互-loading提示框

loading提示框用于增加用戶體驗, 對應的API有兩個:

  1. wx.showLoading()顯示loading提示框
  2. wx.hideLoading()關閉loading提示框
Page({getData () {//顯示loading提示框wx.showLoading({//提示內容不會自動換行,多出來的內容會被隱藏title: '數據加載中...',//展示透明蒙層,防止觸摸穿透mask: true,}),wx.request({// 接口地址url: 'url',//接口方式method: 'GET',//請求參數data: {},//請求頭header: {},// API調用成功以后,執行的回調,res是服務器響應的數據success: (res) => {console.log(res);},// API調用失敗以后,執行的回調fail: (err) => {console.log(err);},// API不管調用成功還是失敗,都會執行執行的回調cpmplete: (res) => {//隱藏效果,和展示配套使用wx.hideLoading()}})}
})
2.界面交互-模態對話框-消息提示框
  1. wx.showModal() :模態對話框,常用于詢問用戶是否執行一些操作。例如:詢問用戶是否退出登錄,是否刪除商品
  2. wx.showToast() :消息提示框,根據用戶的某些操作來告知操作的結果。例如:退出成功給用戶提示,提示刪除成功等。
Page({async delHandler () {//shouModal顯示模塊對話框const res = await wx.showModal({title: '提示',content: '是否刪除該商品?'})if (confirm) {wx.showToast({title: '刪除成功',icon: none,duration: 2000})}else{wx.showToast({title: '取消刪除',icon: error,duration: 2000})}}
}) 
3.本地存儲

使用API將數據存儲在用戶的設備上,以便小程序運行時和下次啟動時快速地讀取這些數據
在這里插入圖片描述

注意:對象類型的數據,可以直接進行存儲獲取,無需使用JSON.stringify()、JSON.parse()轉換
同步API

Page({//將數據存儲到本地setStorage (){wx.setStorageSync('num', 1)wx.setStorageSync( 'obj', {name: 'tom', age: 10 })},//獲取存儲到本地的數據getStorage (){const num = wx.getStorageSync('num')const obj = wx.getStorageSync('obj')console.log(num)console.log(obj);},//刪除本地存儲的數據removeStorage () {wx.removeStorageSync('num')},//清空本地存儲的全部數據clearStorage () {wx.clearStorageSync()}})

異步API

Page({//將數據存儲到本地setStorage (){//異步wx.setStorage({key: 'num',data: 1}),wx.setStorage({key: 'obj',data: { name: 'jerry', age:18 }})},//獲取存儲到本地的數據getStorage (){//異步const { data } = await wx.getStorage({key: 'obj'})console.log(data);},//刪除本地存儲的數據removeStorage () {//異步wx.removeStorage({key: 'num'})},//清空本地存儲的全部數據clearStorage () {//異步wx.clearStorage()}})
4.路由與通信

實現頁面跳轉的方式

  1. 聲明式導航:navigator組件
  2. 編程式導航:使用小程序提供的API
    在這里插入圖片描述
    路徑后可以帶參數,參數與路徑之間使用?分隔,參數鍵與參數值用 = 相連,不同參數用 & 分隔,例如: path?key=value&key2=value2
    參數需要在跳轉到的頁面的 onLoad 鉤子函數中通過形參進行接收

wx.switchTab()方法路徑后面不能帶參數

5.頁面處理函數-上拉加載

上拉加載:當用戶滑動頁面到底部時,會自動加載更多的內容,以便用戶繼續瀏覽
實現方式:

  1. 在app.json或者page.json中配置距離頁面底部的距離:onReachBottomDistance; 默認 50px
  2. 在頁面.js中定義onReachBottomDistance事件監聽用戶上拉加載
   "onReachBottomDistance": 100
Page({data: {numList: [1, 2, 3, 4]},// 監聽用戶上拉加載onReachBottom () {// console.log('監聽用戶上拉加載');const addList = this.data.numList[this.data.numList.length - 1]const newList = [addList + 1, addList + 2, addList + 3]this.setData({numList : [...this.data.numList, ...newList]})}
})
6.頁面處理函數-下拉刷新

下拉刷新:當用戶下拉頁面時,頁面會自動刷新,以便用戶獲取最新內容。
實現方式:

  1. 在app.json或者page.json中開啟允許下拉,同時可以配置窗口、loading樣式等
  2. 在頁面.js中定義onPullDownRefresh事件監聽用戶下拉刷新
{"usingComponents": {},"onReachBottomDistance": 100,"enablePullDownRefresh": true,"backgroundColor": "#efefef","backgroundTextStyle":"light"
}
onPullDownRefresh () {this.setData({newList: [1, 2, 3]})//為了使完成下拉后loading效果回彈if(this.data.numList.length === 3) {wx.stopPullDownRefresh()}}
7.增強 scroll-view

使用scroll-view實現上拉加載更多和下拉刷新功能

<scroll-view scroll-y class="scroll-y"lower-threshold="100"bindscrolltolower="getMore"enable-back-to-top="true"refresher-enabledrefresher-default-style="black"refresher-background="#f7f7f8"bindrefresherrefresh="refreshHnadler"refresher-triggered="{{isTriggered}}"
><view wx:for="{{ numList }}" wx:key="*this">{{ item }}</view>
</scroll-view>
8.自定義組件-創建和注冊組件

小程序目前已經支持組件化開發,可以將頁面中的功能模塊抽取成自定義組件,以便在不同的頁面中重復使用;也可以將復雜的頁面拆分成多個低耦合的模塊,有助于代碼維護。

開發中常見的組件有兩種:

  1. 公共組件:將頁面內的功能模塊抽取成自定義組件,以便在不同的頁面中重復使用
  2. 頁面組件:將復雜的頁面拆分成多個低耦合的模塊,有助于代碼維護

建議一個組件一個文件夾

公共組件:
放在項目根目錄的components文件夾中
公共組件進行全局注冊:在app.json文件中配置usingComponents進行注冊,注冊后可以在任意頁面使用
頁面組件:
放在對應頁面的目錄下
頁面組件進行局部注冊:在頁面的json中配置usingComponents進行注冊,注冊后只能在當前頁面使用

在usingComponents進行組件注冊時,需要提供自定義組件的組件名和自定義組件文件路徑
在將組件注冊好以后,直接將自定義組件的組件名當成組件標簽名使用即可。

"usingComponents": {"custom-checkbox" : "./components/custom-checkbox/custom-checkbox"}
9.組件的數據以及方法

組件的數據以及方法需要在組件.js的Component方法中進行定義,Component創建自定義組件

  1. data:定義組件的內部數據
  2. methods:在組件中事件處理程序需要寫到methods中才行
10.組件的屬性

控制文本信息以及文本顯示的位置
Properties是指組件的對外屬性,主要用來接收組件使用者傳遞給組件內部的數據,和data一同用于組件的模板渲染

<custom-checkbox label="我已閱讀并同意 用戶協議和隱私協議 " position="right" />

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/87674.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/87674.shtml
英文地址,請注明出處:http://en.pswp.cn/web/87674.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SqueezeBERT:計算機視覺能為自然語言處理在高效神經網絡方面帶來哪些啟示?

摘要 人類每天閱讀和撰寫數千億條消息。得益于大規模數據集、高性能計算系統和更優的神經網絡模型&#xff0c;自然語言處理&#xff08;NLP&#xff09;技術在理解、校對和組織這些消息方面取得了顯著進展。因此&#xff0c;將 NLP 部署于各類應用中&#xff0c;以幫助網頁用…

Springboot開發常見注解一覽

注解用法常用參數Configuration用于標記類為配置類&#xff0c;其中通過Bean方法定義Spring管理的組件。它替代XML配置&#xff0c;用Java代碼聲明對象創建邏輯&#xff0c;并確保單例等容器特性生效。相當于給Spring提供一個“制造說明書”來組裝應用部件RestControllerRestCo…

Maven高級——分模塊設計與開發

目錄 ?編輯 分模塊設計與開發 拆分策略 繼承與聚合 版本鎖定 聚合 作用 實現 Maven中繼承與聚合的聯系與區別&#xff1f; 聯系 區別 私服 分模塊設計與開發 將一個大項目拆分成若干個子模塊&#xff0c;方便項目的管理維護&#xff0c;擴展&#xff0c;也方便模…

線程池的七個參數設計源于對高并發場景下資源管理、系統穩定性與性能平衡的深刻洞察

?? 一、核心參數設計目標與解決的問題 參數設計目標解決的核心問題典型取值策略corePoolSize&#xff08;核心線程數&#xff09;維持常備線程資源避免頻繁創建/銷毀線程的開銷&#xff0c;提高響應速度CPU密集型&#xff1a;N_cpu 1 IO密集型&#xff1a;2 N_cpu maximum…

少樣本學習在計算機視覺中的應用:原理、挑戰與最新突破

在深度學習的黃金時代&#xff0c;大量標注數據似乎成了算法性能的前提。然而在許多現實場景中&#xff0c;如醫療圖像分析、工業缺陷檢測、遙感識別、甚至個性化視覺服務中&#xff0c;高質量、成規模的標注數據往往昂貴、稀缺&#xff0c;甚至難以獲得。這種場景正是**少樣本…

github在線圖床

github做的圖床&#xff0c;原理是利用github API實現的在線上傳&#xff0c;就一個頁面&#xff0c;css和js都是集成在頁面&#xff0c;相關信息保存在瀏覽器緩存中&#xff0c;配置一下即可使用 效果演示&#xff1a; github在線圖床 打開網站填寫下列信息 github用戶名&a…

css-多條記錄,自動換行與自動并行布局及gap兼容

實現這樣的內容布局&#xff0c;當一段文案長度超過當前行的時候自動占據一行&#xff0c;其他相近的不超過一行自動放在一行間隔隔開 關鍵實現原理&#xff1a; 彈性布局容器&#xff1a; .history-container {display: flex;flex-wrap: wrap;gap: 12px; }使用flex-wrap: wr…

Redis 哨兵模式部署--docker版本

redis sentinel 簡介 Redis Sentinel 是 Redis 官方提供的高可用&#xff08;HA&#xff09;解決方案&#xff0c;用于監控主從架構中的故障并自動完成故障轉移。當主節點&#xff08;Master&#xff09;宕機時&#xff0c;Sentinel 能自動選舉新的主節點&#xff0c;通知從節…

Java線程中的守護線程

Java線程中的守護線程在Java中&#xff0c;守護線程&#xff08;Daemon Thread&#xff09;是一種特殊類型的線程&#xff0c;它在后臺運行&#xff0c;主要用于支持其他線程&#xff08;如用戶線程&#xff09;的工作。守護線程不會阻止JVM&#xff08;Java虛擬機&#xff09;…

Flink-狀態恢復-isRestore分析

isRestored 方法返回值依賴 restoredCheckpointId 是否為空&#xff1a;restoredCheckpointId 在算子狀態句柄&#xff08;StreamOperatorStateHandler&#xff09;中從 StreamOperatorStateContext 獲取并賦值給 StateInitializationContext&#xff08;該 context 就是 initi…

rk3128 emmc顯示剩余容量為0

機器emmc 容量顯示異常&#xff0c;顯示剩余容量為0&#xff0c;這時候做了一個讓 系統不檢測GPP分區部分的操作&#xff0c;此問題才得以解決&#xff0c;如下&#xff1a; system/vold/DirectVolume.cpp -33,6 33,8 #include "VolumeManager.h"#include "Re…

WebAssembly國際化多語種支持

icu linux數據裁剪 先linux編譯出所有的工具 mkdir build && cd build ../configure --prefix=$(pwd)/build_wasm/install --enable-static --disable-shared --with-data-packaging=static --enable-tools=yes --enable-extras=yes --e…

Ubuntu 安裝 etcd 與 etcd-cpp-apiv3

目錄 安裝 etcd 安裝 etcd-cpp-apiv3 安裝 etcd sudo apt update sudo apt install etcd-server sudo apt install -y etcd-client 在 /etc/default/etcd 配置文件中配置&#xff0c;下面示例是單個服務器內進程之間交換信息且只有一個etcd節點。 #節點名稱&#xff0c;默認為…

Spring Boot 集成 GeoTools 詳解

目錄 一、概述二、集成優勢三、集成步驟四、使用場景五、案例&#xff1a;周邊設施查詢系統六、注意事項七、總結 一、概述 什么是 Spring Boot&#xff1f; Spring Boot 是由 Pivotal 團隊開發的基于 Spring 框架的快速開發工具&#xff0c;它通過自動配置、起步依賴等特性簡…

基礎知識:mysql-connector-j依賴

mysql-connector-j 是 MySQL 官方提供的 Java 數據庫連接驅動&#xff08;JDBC Driver&#xff09;&#xff0c;用于在 Java 應用程序中連接和操作 MySQL 數據庫。它是 MySQL 8.0 版本之后的標準驅動名稱&#xff0c;替代了舊的 mysql-connector-java。 一、新舊版本對比 驅動…

vscode remote-ssh 拓展免密訪問 linux虛擬機

前置步驟&#xff0c;在linux安裝好ssh并且win可以使用密碼登錄linux sudo apt install openssh-server -y 在win上檢查密鑰是否存在 檢查公鑰和私鑰cat ~/.ssh/id_rsa.pubcat ~/.ssh/id_rsa 如果不存在&#xff0c;重新生成 ssh-keygen -t rsa -b 4096 重新執行 cat ~/.ssh/…

動手學深度學習-學習筆記【二】(基礎知識)

文章目錄 1、概述2、課程學習2.1、深度學習介紹2.2、安裝2.3、數據操作2.4、數據預處理2.5、線性代數2.6、微積分2.7、自動微分2.8、概率2.8.1、基本概率論2.8.2、處理多個隨機變量2.8.3、期望和方差 2.9、查閱文檔 1、概述 本篇博客用來記錄我學習深度學習的學習筆記&#xf…

瑞盟MS4554N/MS4554N1雙向電平轉換器重新定義混合電壓系統連接

在電子設備的“心臟”——電路系統里&#xff0c;不同功能模塊常因性能需求差異&#xff0c;采用差異化的供電電壓&#xff1a;傳感器用1.8V低功耗運行&#xff0c;主控芯片選3.3V高效處理&#xff0c;傳統接口保留5V穩定傳輸……當這些“電壓孤島”需要互聯時&#xff0c;一個…

二叉樹題解——驗證二叉搜索樹【LeetCode】后序遍歷

98. 驗證二叉搜索樹 一、算法邏輯&#xff08;逐步通順講解每一步思路&#xff09; 這段算法使用了一種遞歸的思路&#xff1a; 每個節點返回它所在子樹的 最小值和最大值&#xff0c;并在返回的過程中檢查 BST 的合法性。 ? 1?? 定義遞歸函數 dfs(node)&#xff0c;其含…

Flink-Source算子點位提交問題(Earliest)

背景 最近在做 Flink 任務數據源切換時遇到 offset 消費問題&#xff0c;遂寫篇文章記錄下來。 切換時只修改了 source 算子的 topic&#xff0c;uid 等其他信息保持不變&#xff1a; 發布時&#xff0c;發現算子的消費者點位重置為earliest&#xff0c;導致消息積壓。消息積…