微信小程序--家庭記賬本開發--03
阿新 • • 發佈:2019-02-24
默認 content itl pla 統一 使用 use input sprite 文件中加入組件樣式,它們的寫法與頁面的寫法類似。
組件、標簽以及模板的使用
在一個微信小程序中,需要用到大量的組件,一些頁面的設計也需要模板,在自己所學課程中,對於一些組件、標簽模板的使用有了初步的了解。
1.組件
組件是數據和方法的簡單封裝,對於微信小程序,簡潔的組件化編程對於開發來說有很大幫助。微信小程序支持自定義組件,自定義組件
類似於頁面,一個自定義組件由 json
wxml
wxss
js
4個文件組成。要編寫一個自定義組件,首先需要在 json
文件中進行自定義組件聲明(將 component
字段設為 true
可這一組文件設為自定義組件):
{
"component": true
}
同時,還要在 wxml
文件中編寫組件模板,在 wxss
對於4個不同後綴文件的詳細解釋在之前博客中有過詳細的介紹。
例如以下代碼:
<view class="container"> <view class="userinfo"> <button wx:if="{{!hasUserInfo && canIUse}}" open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 獲取頭像昵稱 </button> <block wx:else> <image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image> <text class="userinfo-nickname">{{userInfo.nickName}}</text> </block> </view>
2.標簽
在組件的編程中,離不開標簽的使用,與網頁開發標簽類似,微信小程序的開發也存在著許多標簽的使用。其中最常用到的是以下標簽:
標簽 | 使用 |
view | div和view都是盒模型,默認display:block。 盒模型在布局過程中,一般推薦display:flex的寫法,配合justify-content:center;align-items:center;的定義實現盒模型在橫向和縱向的居中 |
text | 定義界面文本 |
icon |
icon可以直接用微信組件默認的圖標,默認是iconfont格式的,從WeUI那邊沿襲過來的一種做法。
自定義的icon推薦svg sprite格式或者iconfont。 |
input |
|
picker | picker默認支持普通、日期和時間三種選擇器。 picker通過bindchange事件來調取range中自定義的數據數據,並展示到頁面中,調用的是系統原生的select。 |
navigator | navigator支持相對路徑和絕對路徑的跳轉,默認是打開新頁面,當前頁面打開需要加redirect; navigator僅支持5級頁面的跳轉; |
image | 小程序的image與HTML5的img最大的區別在於:小程序的image是按照background-image來實現的。 默認image的高寬是320*240。必須通過樣式定義去覆蓋這個默認高寬 |
button | 小程序可以利用按鈕實現界面跳轉 |
3.模板的使用
在微信小程序開發過程中,可能需要做到大量不同界面之間的轉換,但在布局上又會有一些相同的地方,這是模板的使用就起到了很大的作用,可以通過定義一個模板實現界面的統一布局,減少代碼量。
template模板
模板只需要在使用時,在不同界面位置進行相關調用即可。代碼展示如下:
模板中的wxml文件:
<!--右側無箭頭 --> <template name="listNone"> <view class="tui-menu-list"> <navigator url="{{item.url}}"> <block> <text>{{item.title}}</text> </block> </navigator> </view> </template> <!--右側有箭頭 --> <template name="list"> <view class="tui-menu-list tui-youjiantou"> <navigator url="{{item.url}}"> <block> <text>{{item.title}}</text> </block> </navigator> </view> </template>
template模板的WXSS
.tui-menu-list{ line-height: 80rpx; color: #555; font-size: 35rpx; padding: 0 0rpx 0 10px; position: relative; }
利用import進行調用:
<import src="../../template/list.wxml"/>
<view class="tui-fixed">
<scroll-view style="height:100%;" scroll-y="true">
<template wx:for="{{menu}}" is="list" data="{{item}}"></template>
</scroll-view>
</view>
微信小程序--家庭記賬本開發--03