小程序開發(fā)知識(shí)點(diǎn)

目錄
一、常用知識(shí)點(diǎn)
二率触、開發(fā)坑
三终议、擴(kuò)展

一、常用知識(shí)點(diǎn)

1葱蝗、瀏覽器穴张、服務(wù)器、小程序之間模塊組成

(1)瀏覽器
ES两曼、DOM皂甘、BOM
(2)服務(wù)器
ES、native悼凑、npm
(3)小程序
ES偿枕、小程序框架、專用api

2户辫、小程序運(yùn)行環(huán)境

(1)開發(fā)環(huán)境
IDE——nwjs
(2)生產(chǎn)環(huán)境
android——X5內(nèi)核
ios——JSC內(nèi)核
PS:平臺(tái)不同渐夸,環(huán)境不同,兼容性也會(huì)有差異渔欢。因此墓塌,盡量多做真機(jī)測試。

3奥额、基本構(gòu)成

(1)結(jié)構(gòu)
WXML
(2)樣式
WXSS
(3)數(shù)據(jù)邏輯
WXS苫幢、JS

4、<wxs>標(biāo)簽——將外部 / 內(nèi)部wxs代碼垫挨,打包成一個(gè)組件對(duì)象

用法
在標(biāo)簽內(nèi)加入module="xxx"韩肝,xxx為組件對(duì)象,而代碼塊暴露出來的變量九榔,將作為該對(duì)象的屬性或方法伞梯。

除了module.exports外,不要用其他ES6語法

5帚屉、在wxs代碼塊中,/*為結(jié)束注釋漾峡,后面的代碼不會(huì)執(zhí)行
6攻旦、小程序框架——MINA框架


特點(diǎn)
(1)雙線程
(2)WXML、WXSS生逸、WXS都在ui線程中運(yùn)行
(3)邏輯層通過page.setData(obj)方法牢屋,向視圖層傳遞需要更新的數(shù)據(jù)

7且预、啟動(dòng)方式

(1)冷啟動(dòng)
第一次啟動(dòng)、5分鐘后再啟動(dòng)烙无、兩次警告后再啟動(dòng)(被微信銷毀了)
(2)熱啟動(dòng)
5分鐘內(nèi)啟動(dòng)

若啟動(dòng)時(shí)锋谐,小程序有新版本,會(huì)異步加載內(nèi)容截酷,默認(rèn)下次啟動(dòng)時(shí)替換為新版本涮拗,但是可以使用某api功能,達(dá)到立即替換為新版本迂苛。

8三热、資源加載流程


特點(diǎn)
(1)本地緩存
(2)CDN內(nèi)容分發(fā)網(wǎng)絡(luò)
(3)ajax

9、生命周期事件——程序生命周期三幻、頁面生命周期

程序生命周期
(1)onLaunch:初始化完成
(2)onHide:收起小程序到后臺(tái)
(3)onShow:展開小程序到前臺(tái)(熱啟動(dòng))
(4)onError:程序出錯(cuò)

globalData——全局?jǐn)?shù)據(jù)

頁面生命周期
(1)onLoad:頁面冷啟動(dòng)后就漾,初次加載(只有一次)
(2)onShow:每次切換頁面,在之后的頁面中觸發(fā)
(3)onReady:頁面被首次切換到(每個(gè)頁面只有一次)
(4)onHide:每次切換頁面念搬,在之前的頁面中觸發(fā)
(5)onUnload:關(guān)閉當(dāng)前頁

data——頁面數(shù)據(jù)

10抑堡、指令渲染寫法(如wx: if或者wx: for)

(1)單個(gè)渲染
直接在標(biāo)簽內(nèi)部寫
(2)多個(gè)
用block包裹,在block寫

11朗徊、wxml文件導(dǎo)入

(1)<import/>
只導(dǎo)入目標(biāo)文件中的模板首妖,而間接的模板不會(huì)導(dǎo)入
(2)<include/>
導(dǎo)入目標(biāo)文件中,除了模板的全部內(nèi)容荣倾,間接的模板也會(huì)導(dǎo)入

12悯搔、<text>支持轉(zhuǎn)義字符
13、<rich-text>

通過html舌仍、css的方式妒貌,渲染出wxml、wxss的內(nèi)容铸豁。

14灌曙、在app.json的pages數(shù)組中,寫頁面路徑的同時(shí)节芥,會(huì)在該位置自動(dòng)生成相應(yīng)系列文件在刺。
15、存儲(chǔ)數(shù)據(jù)

視圖層
dataset头镊,自定義屬性
邏輯層
data對(duì)象

16蚣驼、其他內(nèi)容

(1)project.config.json
保存環(huán)境配置,防止換電腦跑不了項(xiàng)目相艇。
(2)其他json
保存頁面配置颖杏,而app.json負(fù)責(zé)整個(gè)小程序的配置(操盤手)。
(3)js
應(yīng)用級(jí)JS坛芽、頁面級(jí)JS留储,分別具有應(yīng)用級(jí)翼抠、頁面級(jí)的生命周期事件。
(4)utils文件夾
存放共用工具類获讳,如常用的函數(shù)阴颖。

17、頁面而言丐膝,除了基本的生命周期事件外量愧,還具備豐富的交互事件,如上下拉尤误、滾動(dòng)侠畔、分享、tab切換

若不設(shè)置分享函數(shù)损晤,則右上角按鈕中软棺,菜單會(huì)沒有轉(zhuǎn)發(fā)功能。而且尤勋,分享函數(shù)可以返回一個(gè)對(duì)象喘落,為分享窗口提供自定義標(biāo)題、描述最冰,以及帶參的轉(zhuǎn)發(fā)路徑瘦棋。

18、頁面路由

概念
以棧的形式暖哨,管理頁面的歷史記錄赌朋。
注意點(diǎn)
(1)重定向:前一個(gè)頁面出棧。
(2)tab切換篇裁、重新加載:之前所有頁面出棧沛慢。
(3)進(jìn)棧onLoad,出棧onUnload达布。
(4)棧存放頁面數(shù)量团甲,不能超過5個(gè)。

19、注意回調(diào)時(shí),this指向會(huì)產(chǎn)生變化痢掠。

解決措施
(1)私有變量保存this。
(2)ES6語法匹厘。

20、邏輯層數(shù)據(jù)

(1)this.data.xxx
只關(guān)注邏輯層脐区,數(shù)據(jù)不傳遞到視圖層愈诚。
(2)this.setData(obj)
更改邏輯層的同時(shí),會(huì)將數(shù)據(jù)傳遞到視圖層,但是單次設(shè)置不要超過1M扰路。

21、插值表達(dá)式(雙花括號(hào))

(1){{ }}內(nèi)部可以放入data中的變量倔叼,也可以是任何表達(dá)式
(2)安放位置
特性值汗唱、標(biāo)簽之間。

22丈攒、列表渲染時(shí)哩罪,沒有設(shè)置key的話,會(huì)有警告巡验。若是靜態(tài)列表际插,無需強(qiáng)求,但強(qiáng)迫癥例外显设。
23框弛、模板管理

在pages文件夾下,新開一個(gè)template文件夾捕捂,存放不同類型的模板瑟枫,便于管理。

24指攒、標(biāo)簽組件

學(xué)習(xí)方法
多看文檔慷妙,對(duì)各組件的特性有大致了解。

input組件不能設(shè)置字體類型允悦。

25膝擂、頁面帶參跳轉(zhuǎn)

(1)舊頁面
在url中,拼接字符串隙弛。
(2)新頁面
onLoad()會(huì)接收一個(gè)裝載參數(shù)的對(duì)象架馋。

26、性能優(yōu)化

https://developers.weixin.qq.com/miniprogram/dev/framework/performance/tips.html

27驶鹉、事件綁定

(1)冒泡流(子到父)
bind(xxx)——冒泡
catch(xxx)——不冒泡
(2)捕獲流(父到子)
capture-bind:xxx——捕獲绩蜻,再冒泡
capture-catch:xxx——捕獲到位后,停在該位置室埋,不冒泡

28办绝、自動(dòng)預(yù)覽

開發(fā)者工具中,具備自動(dòng)預(yù)覽功能姚淆,讓手機(jī)與電腦實(shí)時(shí)通訊孕蝉,不必每次調(diào)試都要掃碼,不過一定要先保存腌逢,再進(jìn)行編譯預(yù)覽降淮。

29、真機(jī)調(diào)試

(1)與預(yù)覽相比,真機(jī)調(diào)試提供詳細(xì)的監(jiān)控信息佳鳖。
(2)某些設(shè)備不支持部分API霍殴,因此真機(jī)調(diào)試更可靠。

30系吩、WXSS不能獲取本地資源来庭,如background
31、button標(biāo)簽實(shí)現(xiàn)轉(zhuǎn)發(fā)

https://www.cnblogs.com/cisum/p/9467505.html

32穿挨、小程序?qū)崿F(xiàn)雙向綁定

https://www.cnblogs.com/sgqwjr/p/9130744.html

33月弛、地圖導(dǎo)航

https://www.cnblogs.com/silent007/p/8670091.html
(1)動(dòng)態(tài)獲取經(jīng)緯度
http://www.cnblogs.com/silent007/p/9023799.html
(2)靜態(tài)獲取經(jīng)緯度
https://lbs.qq.com/tool/getpoint/


二、開發(fā)坑

1科盛、wx.getSystemInfo()要從onReady()階段開始帽衙,才能正常運(yùn)行。
2贞绵、canvas系列

(1)ctx.drawImage()圖片路徑必須是本地的厉萝,因此先要用wx.downloadFile()將圖片下載到本地,再進(jìn)行繪制但壮。
(2)wx.canvasToTempFilePath()必須作為ctx.draw()的回調(diào)冀泻,才能正常導(dǎo)出畫布截圖路徑;而且為了防止產(chǎn)出圖片變形(還沒完全生成)蜡饵,應(yīng)該為該方法加上大于300ms的延遲弹渔。因此,基本格式為ctx.draw()——>wx.canvasToTempFilePath()——>setTimeout()溯祸。
(3)畫布尺寸單位為px肢专,想要響應(yīng)式,必須先獲取屏幕像素焦辅,通過rpx轉(zhuǎn)換公式運(yùn)算博杖,獲得單個(gè)rpx相應(yīng)的值,此時(shí)插入因數(shù)就相當(dāng)于使用rpx單位筷登。
(4)隱藏畫布的最佳方法:用絕對(duì)定位甩出屏幕剃根。

1、外層零寬高overflow: hidden藏不住畫布中的圖片
2前方、手法必須是藏狈醉,不能是消,若不讓畫布渲染惠险,則無法對(duì)畫布截圖

3苗傅、廣告

(1)注意官方規(guī)定的廣告安放位置規(guī)則
(2)廣告元素不能綁定事件等騷操作
(3)上線后,廣告需要審核班巩,可能一段時(shí)間顯示不了廣告


三渣慕、擴(kuò)展

1、獲取當(dāng)前頁url

https://www.hishop.com.cn/xiaocx/show_52692.html

2、小程序跳轉(zhuǎn)到其他小程序

https://blog.csdn.net/shaleilei/article/details/83785538

3逊桦、小程序注冊(cè)登錄眨猎,獲取用戶信息

(1)視頻
https://www.bilibili.com/video/av38342501?from=search&seid=1562815510002242871
(2)博文
https://www.cnblogs.com/cisum/p/9458692.html
https://www.cnblogs.com/HappyYawen/p/9047420.html

4、小程序域名配置(wx.request所用域名)

https://blog.csdn.net/qq_27481295/article/details/79128810

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末强经,一起剝皮案震驚了整個(gè)濱河市宵呛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌夕凝,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件户秤,死亡現(xiàn)場離奇詭異码秉,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)鸡号,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門转砖,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人鲸伴,你說我怎么就攤上這事府蔗。” “怎么了汞窗?”我有些...
    開封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵姓赤,是天一觀的道長。 經(jīng)常有香客問我仲吏,道長不铆,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任裹唆,我火速辦了婚禮誓斥,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘许帐。我一直安慰自己劳坑,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開白布成畦。 她就那樣靜靜地躺著距芬,像睡著了一般。 火紅的嫁衣襯著肌膚如雪羡鸥。 梳的紋絲不亂的頭發(fā)上蔑穴,一...
    開封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音惧浴,去河邊找鬼存和。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的捐腿。 我是一名探鬼主播纵朋,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼茄袖!你這毒婦竟也來了操软?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤宪祥,失蹤者是張志新(化名)和其女友劉穎聂薪,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蝗羊,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡藏澳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了耀找。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片翔悠。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖野芒,靈堂內(nèi)的尸體忽然破棺而出蓄愁,到底是詐尸還是另有隱情,我是刑警寧澤狞悲,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布撮抓,位于F島的核電站,受9級(jí)特大地震影響摇锋,放射性物質(zhì)發(fā)生泄漏胀滚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一乱投、第九天 我趴在偏房一處隱蔽的房頂上張望咽笼。 院中可真熱鬧,春花似錦戚炫、人聲如沸剑刑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽施掏。三九已至,卻和暖如春茅糜,著一層夾襖步出監(jiān)牢的瞬間七芭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來泰國打工蔑赘, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留狸驳,地道東北人预明。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像耙箍,于是被迫代替她去往敵國和親撰糠。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容