終于還是進(jìn)入到了微信小程序開發(fā)的行列,雖然相對(duì)很多人來說有些晚了,但是終究還是開始了不是。
首先,不得不說微信小程序的開發(fā)文檔確實(shí)寫得不錯(cuò)(\贊)
作為一個(gè)微信小程序開發(fā)的新手來說,其實(shí)入門也就只需要看官方的開發(fā)文檔就足夠了。
中文文檔,通俗易懂,有代碼片段示例,也可以直接在微信開發(fā)者工具上瀏覽相關(guān)示例的完整代碼。
這估計(jì)也是我為什么在網(wǎng)上沒有找到其他微信小程序入門教程的原因了。
其次,微信開發(fā)者工具還有巨大的進(jìn)步空間(\奮斗)
目前最新的微信開發(fā)者工具可以編寫調(diào)試微信小程序的代碼,也可以編寫調(diào)試公眾號(hào)的代碼。
做過公眾號(hào)的都知道,公眾號(hào)里最難調(diào)試的是微信的授權(quán)那一塊的東西。
微信開發(fā)者工具里面也不能直接調(diào)試,除非你自己的微信被授權(quán)為該公眾號(hào)的開發(fā)者。
如果公眾號(hào)沒有授權(quán),比較好的做法就是去申請(qǐng)兩個(gè)公眾號(hào)主體,專門拿一個(gè)公眾號(hào)來進(jìn)行測(cè)試。
在開發(fā)微信小程序的時(shí)候,微信開發(fā)者工具最大的欠缺是在代碼提示上。
目前微信開發(fā)者工具對(duì)它自己的API的提示是做得很好了,但是對(duì)開發(fā)者自己寫的js代碼以及css樣式的智能提示就顯得比較乏力了。
然后,再來說說微信小程序開發(fā)本身
微信小程序的開發(fā)語言總的來說和vue很像,和ionic3也很像。
可以通過類比vue和ionic3來學(xué)習(xí)微信小程序的開發(fā),所以說微信小程序開發(fā)入門和上手都是比較容易的。
雖然入門相對(duì)比較容易,但是在編寫Demo的時(shí)候還是遇到了幾個(gè)相對(duì)有價(jià)值的問題。
第一,padding引發(fā)寬度高度的變化
在標(biāo)準(zhǔn)的HTML開發(fā)時(shí),如果給一個(gè)div標(biāo)簽加上"width"和""height,然后再添加"padding",這個(gè)時(shí)候div的寬度和高度是不會(huì)改變的,只會(huì)去壓縮div內(nèi)部的空間。
但是在小程序上,如果給一個(gè)view標(biāo)簽加上"width"和""height,然后再加上"padding",這個(gè)時(shí)候view的寬度會(huì)變成"width"+"padding-left"+"padding-right",,高度會(huì)變成"height"+"padding-top"+"padding-bottom"。
第二,動(dòng)態(tài)加載樣式
在ionic上動(dòng)態(tài)加載樣式有兩種方式:ngClass和ngStyle。
但是在微信小程序中并沒有類似的屬性可以動(dòng)態(tài)加載樣式,它的做法感覺更加直接。
<!-- 動(dòng)態(tài)加載class -->
<view class='{{index==selectedIndex?"my-class-sel":"my-class"}}'></view>
<!-- 動(dòng)態(tài)加載頁面上data的myColor -->
<view style='{{myColor}}'></view>
第三,頁面禁止?jié)L動(dòng)
眾所周知,在iOS設(shè)備上,滾動(dòng)的頁面都有彈簧(橡皮筋)效果。
但是有時(shí)候我們并不想要這種效果,比如類似京東小程序里面的商品分類頁面。整個(gè)最外層的view不能進(jìn)行滾動(dòng),內(nèi)部有兩個(gè)可以滑動(dòng)的菜單欄,相互之間各不影響。
在仔細(xì)閱讀了文檔之后終于找打了答案:{"disableScroll": true}。
在頁面的josn配置文件里把"disableScroll"設(shè)置為"true",即可禁止頁面滾動(dòng),也就去掉了iOS上頁面的彈簧(橡皮筋)效果。