這是我參與8月更文挑戰的第11天,活動詳情查看:8月更文挑戰html
最近在學習微信小程序,以前也有學過一些,前面的忘的差很少了,寫個文檔複習一下這些基礎知識json
小程序有兩種配置文件,全局的app.json
和頁面單獨的page.json
小程序
注意:配置文件中不能出現註釋微信小程序
官方文檔數組
小程序的全局配置,包括全部頁面路徑、界面表現、網絡超時時間、底部tab。微信
舉個例子markdown
這是以前學的項目的配置文件的一部分網絡
各字段的含義app
pages
字段 —— 用於描述當前小程序所用頁面路徑,這是爲了讓微信客戶端知道當前你的小程序頁面定義在哪一個目錄window
字段 —— 定義小程序全部頁面的頂部背景顏色,文字顏色定義,導航文字tabBar
字段 —— 定義小程序的底部導航欄樣式tabBar
配置屬性less
每個小程序頁面也可使用 .json
文件來對本頁面的窗口表現進行配置。
能夠獨立定義每一個頁面的一些屬性,如頂部顏色、下拉刷新等等
注意:若是有與app.json
文件相同的配置項,頁面中的配置項將會覆蓋app.json
中window
中的配置項
⼩程序根⽬錄下的 sitemap.json
⽂件⽤於配置⼩程序及其⻚⾯是否容許被微信索引。
wxml
文件中的模板語法
在同頁面下的js
中傳入模板數據
模板語法
<view id="item-{{id}}"> </view>
複製代碼
數據傳遞
Page({
data: {
id: 0
}
})
複製代碼
不能直接寫 checked = "false",該計算結果爲字符串
<checkbox checked="{{false}}"> </checkbox>
複製代碼
採用wx:if
來判斷是否須要渲染該代碼塊:
<view wx:if="{{length > 5}}"> </view>
複製代碼
也能夠採用wx:elif
和wx:else
來添加一個else
塊
<view wx:if="{{length > 5}}"> 1 </view>
<view wx:elif="{{length > 2}}"> 2 </view>
<view wx:else> 3 </view>
複製代碼
注意:若是須要控制多個組件標籤,可使用block
標籤將多個組件包裝起來,給block
加上控制屬性
注意:
<block/>
並非一個組件,它僅僅是一個包裝元素,不會在頁面中作任何渲染,只接受控制屬性
<view>{{"hello" + name}}</view>
複製代碼
//page中的js文件
Page({
data:{
name: 'MINA'
}
})
複製代碼
注意:花括號和引號之間若是有空格,將最終被解析成爲字符串
默認數組的當前項的下標變量名默認爲 index
,數組當前項的變量名默認爲 item
<view wx:for="{{array}}">
{{index}}: {{item.message}}
</view>
複製代碼
array: [{
message: 'foo',
}, {
message: 'bar'
}]
複製代碼
因爲未設置wx:key
屬性所以會有警告,提示採用wx:key
來提升性能
wx:key
綁定的值有幾種選擇
string
類型,表示循環項中的惟一屬性*this
,表示item
自己,表明惟一的字符串和數組<view hidden="{{condition}}"> True </view>
複製代碼
相似wx:if
,頻繁切換用hidden
,不常使用wx:if
經過bind關鍵字來實現。如 bindtap
、bindinput
、bindchange
等
給input
綁定輸入事件
<input type="text" bindinput="handleInput"/>
複製代碼
事件處理函數,將這個數據映射到 data 數據中
handleInput(e) {
this.setData({
num: e.detail.value
})
}
複製代碼
<input bindinput="handleInput(100)" />
複製代碼
value
<input bindinput="handleInput" data-item="100" />
複製代碼
handleInput: function(e) {
// {item:100}
console.log(e.currentTarget.dataset)
// 輸入框的值
console.log(e.detail.value);
}
複製代碼
wxss 擴展特性
rpx
rpx
: 能夠根據屏幕寬度進⾏⾃適應
使⽤步驟:
肯定設計稿寬度 pageWidth
計算⽐例 750rpx = pageWidth px
,所以 1px=750rpx/pageWidth
在 less ⽂件中,只要把設計稿中的 px => 750/pageWidth rpx
便可。
使⽤ @import
語句能夠導⼊外聯樣式表,只⽀持相對路徑。
@import "common.wxss";
.middle-p {
padding:15px;
}
複製代碼
不支持通配符選擇器*
僅支持如下選擇器
好忙,好忙,好忙~