有句話(huà)說(shuō),會(huì)使用vue
開(kāi)發(fā)的程序員就會(huì)開(kāi)發(fā)小程序逃魄,確實(shí)是這樣荤西,在我學(xué)習(xí)vue
后,再去學(xué)習(xí)小程序時(shí)伍俘,感覺(jué)很好上手邪锌,因?yàn)楹芏嗾Z(yǔ)法都是類(lèi)似的寫(xiě)法。當(dāng)然癌瘾,也有很多不一樣的觅丰。
1.聲明data
:用過(guò)vue
的朋友都知道,vue
中聲明data
時(shí)妨退,data
必須是函數(shù)妇萄,不然會(huì)報(bào)錯(cuò),原生的小程序就不是這樣咬荷,直接 data: { }
就ok了冠句。
2.綁定數(shù)據(jù):綁定動(dòng)態(tài)屬性時(shí)需要在屬性的雙引號(hào)里使用 {{ }}
3.列表循環(huán):使用wx:for
,在循環(huán)題內(nèi)有隱藏的item代表當(dāng)前項(xiàng)萍丐,index
代表下標(biāo)
// 例子
<view class="tab-item" wx:for="{{tabs}}" wx:key="{{index}}">{{item.text}}</view>
// wx:for="{{}}" 一定要和 wx:key="{{}}" 一起使用轩端,否則會(huì)報(bào)錯(cuò)放典;而且在賦值時(shí)要使用 {{}}逝变,不然沒(méi)效果。
// tabs 是data中聲明的數(shù)據(jù)
data:{
tabs: [
{
value: 1,
text: '選項(xiàng)1'
},
{
value: 2,
text: '選項(xiàng)2'
},
{
value: 3,
text: '選項(xiàng)3'
}
]
}
4.事件 事件處理函數(shù)在page里定義奋构,和onLoad / data等同級(jí)
- 冒泡事件:當(dāng)一個(gè)組件上的事件被觸發(fā)后壳影,該事件會(huì)向父節(jié)點(diǎn)傳遞
- 非冒泡事件:當(dāng)一個(gè)組件上的事件被觸發(fā)后,該事件不會(huì)向父節(jié)點(diǎn)傳遞
事件的寫(xiě)法:以bind
或catch
開(kāi)頭弥臼,然后跟上事件的類(lèi)型宴咧,如bindtap、catchtouchstart
bind事件綁定不會(huì)阻止冒泡事件向上冒泡径缅,catch事件綁定可以阻止冒泡事件向上冒泡掺栅。
事件的傳參:事件傳參不能事件處理通過(guò) () 來(lái)傳遞參數(shù)烙肺,在組件里面通過(guò)自定義屬性data-xx="參數(shù)名稱(chēng)"
來(lái)定義,在事件處理函數(shù)里通過(guò) event.currentTarget.dataset
來(lái)獲取參數(shù)
事件官方文檔
5.修改data里面的數(shù)據(jù)
在vue中氧卧,修改data里面的數(shù)據(jù)桃笙,直接【 this.屬性 】就可以修改了,可是小程序不一樣沙绝,它需要通過(guò)【 this.setData({ data: newData }) 】來(lái)修改搏明,訪(fǎng)問(wèn)data的中的數(shù)據(jù)用【 this.data.xx 】來(lái)訪(fǎng)問(wèn);一開(kāi)始學(xué)習(xí)小程序的時(shí)候闪檬,習(xí)慣了[vue](https://cn.vuejs.org/)的寫(xiě)法星著,總是寫(xiě)成 vue 的法,賊難受粗悯。
6.自定義組件
- 創(chuàng)建組件
組件開(kāi)發(fā)虚循,在現(xiàn)今特別流行,低耦合样傍,復(fù)用性高邮丰,后期的維護(hù)也很友好
在根目錄下的components
文件夾里創(chuàng)建一個(gè)空的文件夾,在微信開(kāi)發(fā)者工具里右鍵 - 新建component
- 輸入index
生成json wxml wxss js
4個(gè)文件 - 在頁(yè)面上導(dǎo)入組件
在導(dǎo)入的頁(yè)面的配置文件json
中配置usingConponents:{ "自定義名稱(chēng)": "組件路徑" }
- 自定義組件屬性傳遞
在自定義組件里通過(guò)propertis
來(lái)接收的屬性 - 自定義組件事件
** 首先铭乾,在調(diào)用組件標(biāo)簽通過(guò)bind:[事件名]=[事件處理函數(shù)]
剪廉,綁定事件;然后炕檩,在自定義組件里通過(guò)this.triggerEvent("傳遞過(guò)來(lái)的事件名")
**
自定義組件
更多關(guān)注小程序官方文檔