在微信小程序項目中 肯定會存在很多功能和樣式上相似的部分 面對這種情況 只是單單的ctrl+c ctrl+v 就顯得很low了,而且也不便於后期維護那么這時候 使用微信小程序中的自定義組件功能就很合適了.
那么該怎么使用自定義組件呢
首先 推薦建立一個專門放置組件模塊的文件夾 component
建立一個test文件夾,里面放置你的組件代碼文件(js json wxml wxss)其實就和新建一個page一樣 在微信小程序官方開發工具中是有 新建Component 這個選項的
建立好之后,在test.josn文件中添加字段 component:true 這個字段表明這是一個組件,這個字段在新建的頁面的json文件中是沒有的,官方默認它為false,也就是非組件
然后你就可以像編寫頁面一樣編寫組件邏輯代碼,以及樣式和頁面開發是完全一樣的 說到這里愛思考的同學可能會有這樣的想法,如果我在組件中某些元素定義的class名和頁面中的元素class名一樣的話,會不會出現覆蓋的情況,
注意在組件wxss中不應使用ID選擇器、屬性選擇器和標簽名選擇器,否則會覆蓋至使用組件,的頁面的樣式 盡量使用class 除非你能夠清晰的清除他們的關系
定義組件完成之后下面就可以使用了 使用的方法打開要使用組件test的page下的json文件
添加usingComponents:{},這個字段表明,此page使用的組件有哪些,其中鍵:值關系為{表明你要為使用的組件定義的name:組件文件的路徑(一定要指定到文件那一級)}
至此組件的定義及使用就結束了,但是,假設當前page需要將某個值傳遞至組件內,又該如何怎
么辦呢
打開組件test的js文件
在使用組件的page上添加組件標簽
可以看到這里有個屬性properties 這個類似於vue中的props,你可以再次定義字段 然后在組件標簽上像html標簽自定義屬性一樣為其賦值