摘要:的數(shù)據(jù)強(qiáng)制刷新由于的數(shù)據(jù)綁定與更新策略,有時取回?cái)?shù)據(jù)時數(shù)據(jù)并不能引起頁面的變更,這時候就需要強(qiáng)制刷新頁面綁定的數(shù)據(jù)了。這次重構(gòu)差不多就用了四天的時間,寫了個個個,按時交活兒希望本文可以在小應(yīng)用的快速構(gòu)建上給大家一個參考
作者:李宜棟
??【 玩轉(zhuǎn) LeanCloud 】開發(fā)者經(jīng)驗(yàn)分享:
學(xué)校有一個高考志愿填報(bào)的應(yīng)用需要重構(gòu),之前的實(shí)現(xiàn)是通過構(gòu)建 Laravel RESTful API + Ionic2 實(shí)現(xiàn)院校和分?jǐn)?shù)線信息的檢索,但是一個人前后端聯(lián)調(diào)太麻煩了,加上平時課多,交活兒日期又近在眼前,所以考慮再三決定換成 Ionic3 + 后端云的方式來構(gòu)建應(yīng)用,這樣不用花心思去搞后端的 CRUD,速度上應(yīng)該能快不少。
在 Ionic 中應(yīng)用的每個頁面都可以做成封裝好的組件,在 Page 中負(fù)責(zé)調(diào)用 Service (Provider) 進(jìn)行數(shù)據(jù)請求與更新,獲取到的數(shù)據(jù)注入到組件當(dāng)中刷新顯示數(shù)據(jù)或者冒泡到 Page 當(dāng)中進(jìn)行處理。主要的需求包括后端的數(shù)據(jù)存儲、地圖展示和繪制折線圖表。
后兩項(xiàng)需求并不難,正好以前接觸過,顯示地圖用 Baidu Map SDK,繪制折線圖用 Echarts 的 JavaScript SDK,在這個項(xiàng)目中主要就是在 TypeScript 的調(diào)用上注意一下。數(shù)據(jù)存儲的后端云,其實(shí)最開始我沒用 LeanCloud,用的別的。我本想把本地?cái)?shù)據(jù)庫的數(shù)據(jù)上傳到云端,但發(fā)現(xiàn)那個云端的數(shù)據(jù)遷移功能根本不 work,我是免費(fèi)用戶,去給人家提個 issue 吧也不見得能多快就給修復(fù),所以還是另辟蹊徑吧。找著找著就看到了 LeanCloud,它家的數(shù)據(jù)遷移好用,這事兒也就這么定了。
數(shù)據(jù)遷移我從 DataGrip 導(dǎo)出數(shù)據(jù)到 CSV 格式,注意要設(shè)置選擇用引號包圍字段值來解決空值的問題,做好字段類型標(biāo)注,導(dǎo)好的文件在 LeanCloud 控制臺里一鍵上傳就全 OK 啦。另外之前使用的別人家的 JavaScript SDK,現(xiàn)在換成 LeanCloud 的 SDK,要在 Ionic 項(xiàng)目的 www 目錄下將 index.html 文件加入對應(yīng)的 CDN 的 script 引用,代碼中所有要調(diào)用 LeanCloud SDK 的地方都要加上 declare var AV; 對強(qiáng)迫癥來說實(shí)在不友好,所以還是要 npm 一下之后配置一下 TypeScript 好。
初始化 SDK,設(shè)置 ID 和 Key:
然后就可以在 Service 中使用了,也能在 Page 中以 Promise 的方式調(diào)用了。
之后就可以開心地堆組件啦。
踩過一些坑,在這里提個醒:
1.contains 和 containedIn 不是一碼事,contains 是字符串包含,containedIn 是數(shù)組包含,而且 contains 做模糊查詢的時候條件關(guān)系要用 or。
2.Ionic 的數(shù)據(jù)強(qiáng)制刷新:由于 Ionic 的數(shù)據(jù)綁定與更新策略,有時取回?cái)?shù)據(jù)時數(shù)據(jù)并不能引起頁面的變更,這時候就需要強(qiáng)制刷新頁面綁定的數(shù)據(jù)了。
3.數(shù)字型數(shù)據(jù):最初數(shù)據(jù)導(dǎo)入的時候?yàn)榱朔奖悖坑玫?string 類型,所以數(shù)字字段排序的時候…….你懂的。
這次重構(gòu)差不多就用了四天的時間,寫了 16 個 Page、17 個 Component、5 個 Provider,按時交活兒!希望本文可以在小應(yīng)用的快速構(gòu)建上給大家一個參考~
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/10980.html
摘要:今天的主角是如何搭建一個公眾號自動回復(fù)功能。對于大網(wǎng)站或者項(xiàng)目來說,找一家如阿里云騰訊云等云服務(wù)平臺,但對于個人只是想簡單的搭建一個公眾號管理自動回復(fù)功能,終究有些大材小用了結(jié)合使用相得映彰,而且可以根據(jù)需要升級擴(kuò)展。 程序員愛炫技,寫個公眾號文章,都想拿點(diǎn)技術(shù)整整【自動回復(fù)】;程序員愛偷懶,什么都想做個【自動化】,最好所有事情系統(tǒng)都給做了,點(diǎn)點(diǎn)手指頭就能達(dá)到目標(biāo)。 今天的主角是如何搭...
摘要:什么是框架框架是一個混合開發(fā)框架,其本身依賴于,,。使用框架可以做什么使用可以使用前端相關(guān)技術(shù)快速開發(fā)多平臺的移動。使用全局安裝和。輸入,這是添加一個平臺的命令。注意這個包是版本,并非正式包,正式包需要先生成簽名至此,你就開始了第一個應(yīng)用。 什么是混合開發(fā)? 簡單來說,就是在開發(fā)移動應(yīng)用中同時使用Native和Web的開發(fā)方式。 什么是Ionic3框架? Ionic3框架是一個混合開發(fā)...
摘要:什么是框架框架是一個混合開發(fā)框架,其本身依賴于,,。使用框架可以做什么使用可以使用前端相關(guān)技術(shù)快速開發(fā)多平臺的移動。使用全局安裝和。輸入,這是添加一個平臺的命令。注意這個包是版本,并非正式包,正式包需要先生成簽名至此,你就開始了第一個應(yīng)用。 什么是混合開發(fā)? 簡單來說,就是在開發(fā)移動應(yīng)用中同時使用Native和Web的開發(fā)方式。 什么是Ionic3框架? Ionic3框架是一個混合開發(fā)...
閱讀 3722·2021-11-23 09:51
閱讀 1386·2021-11-10 14:35
閱讀 4025·2021-09-22 15:01
閱讀 1293·2021-08-19 11:12
閱讀 392·2019-08-30 15:53
閱讀 1704·2019-08-29 13:04
閱讀 3441·2019-08-29 12:52
閱讀 3069·2019-08-23 16:14