雖然被迫加班挺狼狽的,但是人還是干不過氛圍呀舟奠,以后天氣不好或是不想運(yùn)動(dòng)的時(shí)候跟他們一起加班再回家也是個(gè)不錯(cuò)的選擇花颗,這么好的機(jī)會(huì)正好抓緊學(xué)習(xí)以前欠下的債添怔。
兩天的學(xué)習(xí)晕翠,作個(gè)簡單的總結(jié)。主要實(shí)現(xiàn)的功能是微信小程序上的簡易計(jì)算器的功能。
雖然不怎么美觀,但是大體的功能和其中的頭疼調(diào)試也是夠我喝一壺了传睹。
依據(jù)實(shí)際情況劃分<view></view>組件和<button></button>組件,在wxss中設(shè)置好其擺放規(guī)則和樣式大小岸晦,樣式多為內(nèi)聯(lián)樣式(包括CSS有待學(xué)習(xí))后面還待熟悉欧啤。在整個(gè)程序中需要調(diào)用的數(shù)據(jù)均在Page-data中進(jìn)行初始化,初始化的ID可以和wxml中的控件進(jìn)行綁定启上。
在整體樣式設(shè)置完畢后邢隧,需要進(jìn)行控件功能的補(bǔ)充和完善。此時(shí)最重要的就是功能需求分析冈在,必須弄清楚每個(gè)控件的實(shí)現(xiàn)方式和控件之間的關(guān)聯(lián)府框,在開發(fā)之際一定要想清楚,寫清楚每個(gè)控件的邏輯情況。此時(shí)遇到了困擾許久的"Setting data field "xxx" to undefined is invalid"迫靖,請(qǐng)回到page-data中進(jìn)行變量初始化確認(rèn)!同時(shí)還有至今未解決的退格函數(shù)無法生效的問題兴使,現(xiàn)貼出代碼系宜,等大神解答。
if(e.target.id == "back"){
? ? ? ? if(data.toString().length>1){
? ? ? ? ? data = data.substr(0,data.toString().length -1);
? ? ? ? }else{//長度只有一位
? ? ? ? ? data = 0;}
}
今天學(xué)習(xí)的內(nèi)容是數(shù)據(jù)的保存和讀取任務(wù)发魄,主要是兩個(gè)函數(shù)的學(xué)習(xí)和熟悉盹牧。
組件部分為 switch,checked為選中狀態(tài)励幼;type為種類汰寓,多用switch很少使用checkbox;bindchange為綁定事件苹粟,及該控件的觸發(fā)效果有滑,多在js中單獨(dú)定義功能函數(shù)。
函數(shù)部分為保存數(shù)據(jù)到本地的wx.setStorage和wx.setStorageSync嵌削。
平常較多使用的是wx.setStorageSync('key',?'value')
還有就是對(duì)應(yīng)保存的從本地讀取數(shù)據(jù)的wx.setStorage和wx.setStorageSync
同樣的毛好,wx.getStorageSync('key')使用較多。
整個(gè)過程則涉及到了頁面跳轉(zhuǎn)的接口函數(shù):
wx.navigateTo/wx.redirectTo/wx.navigateBack
wx.navigateTo?為重點(diǎn)學(xué)習(xí)的函數(shù)苛秕。
在使用的過程中肌访,學(xué)習(xí)到了一條保存多條歷史記錄的方式。由于setStorageSync在保存數(shù)據(jù)到本地緩存時(shí)艇劫,會(huì)覆蓋指定的Key中原有的數(shù)據(jù)吼驶。這樣會(huì)導(dǎo)致想存儲(chǔ)多條數(shù)據(jù)需要定義過多的Key,過于繁瑣店煞。這里采用的是定義一個(gè)Key蟹演,將緩存的數(shù)據(jù)保存在一個(gè)數(shù)組中,每次需要使用時(shí)先從本地的緩存中將保存的歷史記錄讀取出來浅缸,將增加歷史記錄時(shí)轨帜,只需要將運(yùn)算過程字符串增加到數(shù)組后面或者前面,然后再將整個(gè)數(shù)組緩存衩椒,關(guān)鍵代碼如下蚌父。
var saveExprs = function(expr){
? var exprs = wx.getStorageSync('exprs') || []//獲取本地緩存
? exprs.unshift(expr);? ? ? ? ? ? ? ? ? ? ? //在數(shù)組開頭增加一個(gè)元素
? wx.setStorageSync('exprs',exprs);? ? ? ? ? //保存到本地緩存
}
開心,感覺最近一切在往好的方向發(fā)展毛萌,希望自己許久前就該開始的IT生涯能夠如今晚般堅(jiān)毅苟弛。跑步去了,好久沒瘦了阁将!