寫在最前面
微信小程序自九月份推出內(nèi)測資格以來,經(jīng)歷了輿論熱潮到現(xiàn)在看似冷清,但并不意味著大家不那么關(guān)注或者不關(guān)注了。我想不管是否有內(nèi)測資格,只要是感興趣的開發(fā)者已經(jīng)進入潛心耕耘產(chǎn)品的階段了,至少是靜下心來思考與學(xué)習(xí)。如果對微信小程序的前途和定位有什么疑惑,可以看看這篇文章http://lib.csdn.net/article/wechat/46742。
下面從字母a開始編號的內(nèi)容主要作為后續(xù)學(xué)習(xí)與思考后對文章做的更新,包括項目的改進、觀點的補充等,所以建議大家先將整篇文章看完再來瀏覽這部分,會有不一樣的收獲。
a. 3.1.2節(jié)index.js實現(xiàn)火車票查詢事件的響應(yīng)函數(shù)getTrainInfo時,直接在函數(shù)體中調(diào)用wx.request方法開始網(wǎng)絡(luò)請求。但是后面在閱讀了別人的代碼后發(fā)現(xiàn),可以將常用的url、apikey、request等常量和方法抽象出來,定義到獨立的文件當(dāng)中。于是在根目錄下新建requests目錄,其中新建文件request與api文件(js格式),api用來定義網(wǎng)路請求所需的url、apikey等常量信息,request用來定義網(wǎng)絡(luò)請求方法(可以多種形式)。這樣在不同頁面中請求不同網(wǎng)絡(luò)數(shù)據(jù)時,只要傳不同的參數(shù)即可,調(diào)用的方法是共用的,提高了可讀性與維護性。這部分改變已經(jīng)同步更新到了Github。
b. 3.1.2和3.2.2節(jié)都提到了,將JSON格式數(shù)據(jù)作為url參數(shù)傳遞前,需要先轉(zhuǎn)化為String類型,然后目標(biāo)頁面讀取數(shù)據(jù)時需要將String類型對象轉(zhuǎn)回到JSON格式。如果不想這么復(fù)雜,而又只是以學(xué)習(xí)為目的的話,可以借助app.js中定義的全局變量來承載數(shù)據(jù),因為項目的任何地方都可以獲取這種變量值。
app中添加相關(guān)變量trainList:
1 globalData:{ 2 userInfo:null, 3 trainList:[] //火車票信息列表 4 }
index頁面獲取網(wǎng)絡(luò)請求返回數(shù)據(jù)后直接對全局變量賦值:
1 app.globalData.trainList = res.data.data.trainList;
train頁面獲?。?/p>
1 this.setData({ 2 trainList: app.globalData.trainList, 3 });
這樣就避免了轉(zhuǎn)化的步驟,但是如果是正規(guī)大型項目,還是建議采用最合適的處理方式,畢竟全局變量是針對整個項目的。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26