目錄
元件的組成
元件結構
元件樣式
#元件宣告
#元件使用
內容清單元件
data和properties
資料傳入
總結
首頁 微信小程式 小程式開發 淺析如何在小程式中開發一個內容清單元件

淺析如何在小程式中開發一個內容清單元件

Nov 12, 2021 am 10:57 AM
小程式 組件開發

這篇文章跟大家分享一個小程式開發實戰,介紹一下怎麼開發一個內容清單元件,希望對大家有幫助!

淺析如何在小程式中開發一個內容清單元件

我們開發了一個首頁常見的搜尋輸入框,但其程式碼是直接寫在首頁檔案中的,所以這樣還不能稱為是一個組件。這篇我們來介紹如何寫一個完整的小程式元件。 【相關學習推薦:小程式開發教學

元件的組成

元件結構

#首先,元件同頁面類似,都有一個單獨的資料夾來維護。我們先在小程式專案中建立一個components目錄用於存放我們的元件,然後建立一個名為search-bar的目錄用來作為我們的搜尋框元件。

淺析如何在小程式中開發一個內容清單元件

上面提到,元件其實跟頁面很像,都由一個目錄組成,所以自然其實要展示的內容也都由index.wxml進行編寫。所以我們直接將之前關於搜尋框的部分貼過來。

淺析如何在小程式中開發一個內容清單元件

淺析如何在小程式中開發一個內容清單元件

貼到components/search-bar/index.wxml後,程式碼格式可能會不太好,可以在文件內容的空白地方右鍵,或選取程式碼,然後點選格式化文件進行自動格式化。

這裡要注意的是,如果我們的結構文件中如果有資源的位置引用,當修改文件位置後,要確認修改後的位置對於資源的引用是否正確。例如這裡,我們將原本pages/index/index.wxml下的內容貼到components/search-bar/index.wxml,其中image標籤引用了assets/images下的文件,需要確認新位置下的圖片引用路徑仍然有效。

元件樣式

同樣地,我們將之前寫好的元件樣式也黏過來

淺析如何在小程式中開發一個內容清單元件

淺析如何在小程式中開發一個內容清單元件

#元件宣告

這樣,我們就完成了元件的結構和樣式定義,但開發者工具還不認為這是一個元件,所以需要我們在元件目錄中建立index.json宣告這個目錄是一個有效的元件,方法如下圖。

首先,我們需要在index.json中使用"component": true宣告這是一個元件

淺析如何在小程式中開發一個內容清單元件

其次,我們需要在index.js中使用全域方法Component()方法註冊該元件,該方法的參數為一個對象,其中可以定義類似頁面的各種內容,具體可參考官方文件

淺析如何在小程式中開發一個內容清單元件

#元件使用

那麼完成了元件的基本定義,我們的組件就可以投入使用了。只要在需要使用該元件的地方進行引入即可,引入方法例如在我們的首頁配置文件中聲明如下

淺析如何在小程式中開發一個內容清單元件

#其中,"search-bar" 定義的是該元件的標籤名稱,正如我們使用的小程式內建元件inputimage一樣,而後面的內容則對應該元件對於目前引用者的相對位置,這個位置的尋找方法同image標籤中對於圖片位置的尋找。

經過上面的元件引用聲明,我們即可在頁面結構檔中進行元件的使用

淺析如何在小程式中開發一個內容清單元件

在此過程中,如遇到右下角控制台報錯,可透過點擊開發者工具頂部中央的編譯按鈕對專案進行重新編譯,以對各種檔案進行重寫解析。如果經過編譯還有報錯,那麼一方面可以檢查程式碼中是否確實存在錯誤,另一方面可透過重啟開發者工具進行嘗試(因為開發者工具本身也存在一定bug,有時候會偶發奇怪的問題)

另外,我在開發者工具的設定中按照個人開發習慣進行了一些列自訂的設置,例如自動儲存和程式碼縮排等,可供參考。

淺析如何在小程式中開發一個內容清單元件

內容清單元件

那麼介紹完一個完整的自訂元件組成後,我們接著來完成內容列表組件的開發。

內容清單顯然要必上面的搜尋輸入框複雜一些,但對於元件的開發方式都一樣,我們只需要按照這種規則進行元件的開發即可。

首先,我們創建好組成元件的4個核心檔案如下,其中index.jsindex.json同之前寫過的一樣。

1淺析如何在小程式中開發一個內容清單元件

接著,我們透過index.wxmlindex.wxss的編寫來完成列表元件的元素定義。

既然是列表,那麼就會用到小程式中的循環遍歷語法,關於這部分可參考 官方文件 進行學習,具體使用如下。

1淺析如何在小程式中開發一個內容清單元件

然後,我們在index.js中定義元件接收的外部傳入的資料如下

1淺析如何在小程式中開發一個內容清單元件

這樣,在index.wxml中使用wx:for進行遍歷的就是index.js中透過properties屬性接收到的外部傳入的資料清單。那麼我們隨即在首頁中引入該元件,並對其傳入真實的資料列表。使用方法仍然是先在index.json中宣告對元件的引用,然後在頁面檔案中使用引用時宣告的標籤名稱即可。

1淺析如何在小程式中開發一個內容清單元件

1淺析如何在小程式中開發一個內容清單元件

這裡我們透過宣告items屬性,為我們定義的內容清單元件傳入了數據,而該數據又來自首頁內部定義的listData,這需要我們在首頁的index.jsdata#中聲明該數據。

1淺析如何在小程式中開發一個內容清單元件

data和properties

#這裡我們來講dataproperties有什麼不同,data是用來定義頁面或元件內部自己的資料的,而properties是用來接收外部傳入的資料的,所以只有元件才有這個屬性。

例如對於內容列表元件,其需要外部傳入真實的列表數據,所以在properties中相當於自訂了元件的參數,然後外部使用此組件時可透過組件聲明的參數向其傳入資料。

資料傳入

因此,我們需要了解元件參數所需要的資料結構是怎樣的,例如這裡我們定義的清單元件需要傳入一個資料列表,而資料列表中的每一項都包含正文和圖片,所以我們在首頁的listData定義如下資料

1淺析如何在小程式中開發一個內容清單元件

可以看到,列表的每一項要剛好符合我們元件所使用的資料結構,即每個資料項都有text欄位用來展示正文內容,並且有image字段用於展示正文的配圖。

然後回到我們的元件內部,我們根據wx:for的語法,使用了代表每項資料的item欄位存取了清單的資料項並進行展示。也使用了內建標籤imagemode參數聲明了圖片展示的尺寸風格。

1淺析如何在小程式中開發一個內容清單元件

並透過一系列樣式的寫

1淺析如何在小程式中開發一個內容清單元件

最終使得頁面展現出的效果如下圖所示

淺析如何在小程式中開發一個內容清單元件

#最後,我們透過真機預覽我們截止目前開發的小程式效果,並比較知乎小程式的首頁如下。

2淺析如何在小程式中開發一個內容清單元件

左側為知乎小程式的首頁,右邊為我們自行開發的小程序,效果是不是還不錯。

總結

最後,我們總結今天學習了哪些內容。其實透過目錄可以清楚地看到,今天我們介紹了一個自訂元件開發的完成過程如下

  • 元件建立
  • 元件定義及宣告
  • 元件引用
  • 元件資料傳入

透過如上方法,結合先前所講的頁面開發方法,我們完善了小程序開發的核心技能。之後,我們可以按照自己的設計,開發負責不同功能的小程式頁面,並且根據各個頁面所承載的功能及特點,開發一系列自訂元件,來達到可以靈活組合的效果。

更多程式相關知識,請造訪:程式設計入門! !

以上是淺析如何在小程式中開發一個內容清單元件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

使用Python開發微信小程式 使用Python開發微信小程式 Jun 17, 2023 pm 06:34 PM

隨著行動互聯網技術和智慧型手機的普及,微信成為了人們生活中不可或缺的一個應用。而微信小程式則讓人們可以在不需要下載安裝應用程式的情況下,直接使用小程式來解決一些簡單的需求。本文將介紹如何使用Python來開發微信小程式。一、準備工作在使用Python開發微信小程式之前,需要先安裝相關的Python函式庫。這裡推薦使用wxpy和itchat這兩個函式庫。 wxpy是一個微信機器

小程式能用react嗎 小程式能用react嗎 Dec 29, 2022 am 11:06 AM

小程式能用react,其使用方法:1、基於「react-reconciler」實作一個渲染器,產生一個DSL;2、建立一個小程式元件,去解析和渲染DSL;3、安裝npm,並執行開發者工具中的建構npm;4、在自己的頁面中引入包,再利用api即可完成開發。

實作微信小程式中的卡片翻轉特效 實作微信小程式中的卡片翻轉特效 Nov 21, 2023 am 10:55 AM

實作微信小程式中的卡片翻轉特效在微信小程式中,實現卡片翻轉特效是一種常見的動畫效果,可以提升使用者體驗和介面互動的吸引力。以下將具體介紹如何在微信小程式中實現卡片翻轉的特效,並提供相關程式碼範例。首先,需要在小程式的頁面佈局檔案中定義兩個卡片元素,一個用於顯示正面內容,一個用於顯示背面內容,具體範例程式碼如下:<!--index.wxml-->&l

支付寶上線「漢字拾光-生僻字」小程序,用於徵集、補充生僻字庫 支付寶上線「漢字拾光-生僻字」小程序,用於徵集、補充生僻字庫 Oct 31, 2023 pm 09:25 PM

本站10月31日消息,今年5月27日,螞蟻集團宣布啟動“漢字拾光計劃”,最近又迎來新進展:支付寶上線“漢字拾光-生僻字”小程序,用於向社會徵集生僻字,補充生僻字庫,同時提供不同的生僻字輸入體驗,以幫助完善支付寶內的生僻字輸入方法。目前,用戶搜尋「漢字拾光」、「生僻字」等關鍵字就可以進入「生僻字」小程式。在小程式裡,使用者可以提交尚未被系統辨識輸入的生僻字圖片,支付寶工程師確認後,將會對字庫進行補錄入。本站注意到,使用者也可以在小程式體驗最新的拆字輸入法,這項輸入法針對讀音不明確的生僻字設計。用戶拆

uniapp如何實現小程式和H5的快速轉換 uniapp如何實現小程式和H5的快速轉換 Oct 20, 2023 pm 02:12 PM

uniapp如何實現小程式和H5的快速轉換,需要具體程式碼範例近年來,隨著行動網路的發展和智慧型手機的普及,小程式和H5成為了不可或缺的應用形式。而uniapp作為一個跨平台的開發框架,可以在一套程式碼的基礎上,快速實現小程式和H5的轉換,大大提高了開發效率。本文將介紹uniapp如何實現小程式和H5的快速轉換,並給出具體的程式碼範例。一、uniapp簡介unia

用Python編寫簡單的聊天程式教程 用Python編寫簡單的聊天程式教程 May 08, 2023 pm 06:37 PM

實現思路x01服務端的建立首先,在服務端,使用socket進行訊息的接受,每接受一個socket的請求,就開啟一個新的線程來管理訊息的分發與接受,同時,又存在一個handler來管理所有的線程,從而實現對聊天室的各種功能的處理x02客戶端的建立客戶端的建立就要比服務端簡單多了,客戶端的作用只是對消息的發送以及接受,以及按照特定的規則去輸入特定的字符從而實現不同的功能的使用,因此,在客戶端這裡,只需要去使用兩個線程,一個是專門用於接受消息,一個是專門用於發送消息的至於為什麼不用一個呢,那是因為,只

教你如何在小程式中用公眾號範本訊息(附詳細想法) 教你如何在小程式中用公眾號範本訊息(附詳細想法) Nov 04, 2022 pm 04:53 PM

這篇文章給大家帶來了關於微信小程式的相關問題,其中主要介紹瞭如何在小程式中用公眾號範本訊息,下面一起來看一下,希望對大家有幫助。

微信小程式怎麼弄會員 微信小程式怎麼弄會員 May 07, 2024 am 10:24 AM

1.開啟微信小程序,進入對應的小程式頁面。 2.在小程式頁面中尋找會員相關入口,通常會員入口在底部導覽列或個人中心等位置。 3.點選會員入口,進入會員申請頁。 4、在會員申請頁面,填寫相關信息,如手機號碼、姓名等,完成資料填寫後,提交申請。 5.小程式方會對會員申請審核,審核通過後,用戶即可成為微信小程式會員。 6.作為會員,用戶將享有更多的會員權益,如積分、優惠券、會員專屬活動等

See all articles