前端緩存資料庫
A. vue3開發前端表單緩存自定義指令,移動端h5必備插件
公司開發一款移動端應用,使用vue,用戶錄入表單需本地緩存。為解決此問題,我們考慮兩種方案。第一種方案為實時保存暫存文件到後端,間隔1-2秒調一次介面,此方案成本較高,開發困難。第二種方案為前端開發緩存插件,暫存數據於前端。
採用vue自定義指令結合localstorage進行本地緩存策略的開發。首先在項目中創建directive文件夾。在index.ts文件中編寫指令事件函數。主要函數方法包含如下步驟:先獲取localStorage中對應key的值,若無值則存入緩存並設置有效期;若存在值,則覆蓋到原有對象欄位上。主方法內有if else結構,用於判斷是否有第四個參數,即外層for循環序號。對於for循環數組,需要加上第四個參數;單個form表單則不需額外參數。
在directive文件夾下新增index.ts文件。在main.ts文件中注冊指令。使用示例展示如何僅對一個大對象的表單進行緩存。
至此,vue3前端表單緩存自定義指令開發完成,操作簡單。然而,程序員需跳出技術圈,拓展視野,了解前沿知識。在開發內部工具時,發現大量頁面、場景、組件等重復工作,浪費工程師時間。推薦使用JNPF快速開發平台,它是功能集大成者,支持快速開發任何信息化系統。JNPF基於java Boot/.Net Core構建,提供上千常用類,方便擴展。集成代碼生成器,支持前後端業務代碼生成,實現快速開發。框架內置表單、報表、圖表、大屏等Demo,方便直接使用。後端支持Vue2、Vue3。推薦學習以拓展知識。
B. 鍓嶇緙撳瓨鐨勭悊瑙 鎴栬 鍓嶇鏁版嵁鎸佷箙鍖栫殑鐞嗚В(寮哄埗緙撳瓨銆佸崗鍟嗙紦瀛)
緙撳瓨鍙浠ヨ存槸鎬ц兘浼樺寲涓綆鍗曢珮鏁堢殑涓縐嶄紭鍖栨柟寮忎簡銆備竴涓浼樼鐨勭紦瀛樼瓥鐣ュ彲浠ョ緝鐭緗戦〉璇鋒眰璧勬簮鐨勮窛紱伙紝鍑忓皯寤惰繜錛屽苟涓旂敱浜 緙撳瓨鏂囦歡鍙浠ラ噸澶嶅埄鐢 錛岃繕鍙浠ュ噺灝戝甫瀹斤紝闄嶄綆緗戠粶璐熻嵎銆
瀵逛簬涓涓鏁版嵁璇鋒眰鏉ヨ達紝鍙浠ュ垎涓哄彂璧 緗戠粶璇鋒眰銆佸悗絝澶勭悊銆佹祻瑙堝櫒鍝嶅簲 涓変釜姝ラゃ傛祻瑙堝櫒緙撳瓨鍙浠ュ府鍔╂垜浠鍦ㄧ涓鍜岀涓夋ラや腑浼樺寲鎬ц兘銆傛瘮濡傝寸洿鎺ヤ嬌鐢ㄧ紦瀛樿屼笉鍙戣搗璇鋒眰錛屾垨鑰呭彂璧蜂簡璇鋒眰浣嗗悗絝瀛樺偍鐨勬暟鎹鍜屽墠絝涓鑷達紝閭d箞灝辨病鏈夊繀瑕佸啀灝嗘暟鎹鍥炰紶鍥炴潵錛岃繖鏍峰氨鍑忓皯浜嗗搷搴旀暟鎹銆
鈶犱笉瀛樺湪璇ョ紦瀛樼粨鏋滃拰緙撳瓨鏍囪瘑錛屽己鍒剁紦瀛樺け鏁堬紝鍒欑洿鎺ュ悜鏈嶅姟鍣ㄥ彂璧瘋鋒眰
鈶″瓨鍦ㄨョ紦瀛樼粨鏋滃拰緙撳瓨鏍囪瘑錛屼絾璇ョ粨鏋滃凡澶辨晥錛屽己鍒剁紦瀛樺け鏁堬紝鍒欎嬌鐢ㄥ崗鍟嗙紦瀛
鈶㈠瓨鍦ㄨョ紦瀛樼粨鏋滃拰緙撳瓨鏍囪瘑錛屼笖璇ョ粨鏋滃皻鏈澶辨晥錛屽己鍒剁紦瀛樼敓鏁堬紝鐩存帴榪斿洖璇ョ粨鏋
鎺у埗寮哄埗緙撳瓨鐨勫瓧孌靛垎鍒鏄疎xpires鍜孋ache-Control錛屽叾涓瑿ache-Control浼樺厛綰ф瘮Expires楂樸
Cache-Control銆丒xpires閮芥槸緙撳瓨鍒版湡鏃墮棿錛孋ache-Control鏄鐩稿瑰礆紝Expires鏄緇濆瑰礆紝鍗沖啀嬈″彂閫佽鋒眰鏃訛紝濡傛灉鏃墮棿娌″埌鏈燂紝寮哄埗緙撳瓨鐢熸晥銆
娉錛氬湪鏃犳硶紜瀹氬㈡埛絝鐨勬椂闂存槸鍚︿笌鏈嶅姟絝鐨勬椂闂村悓姝ョ殑鎯呭喌涓嬶紝Cache-Control鐩告瘮浜巈xpires鏄鏇村ソ鐨勯夋嫨錛屾墍浠ュ悓鏃跺瓨鍦ㄦ椂錛屽彧鏈塁ache-Control鐢熸晥銆
鈶犲崗鍟嗙紦瀛樼敓鏁堬紝榪斿洖304
鈶″崗鍟嗙紦瀛樺け鏁堬紝榪斿洖200鍜岃鋒眰緇撴灉
榪欓噷鎴戜滑浠ュ崥瀹㈢殑璇鋒眰涓轟緥錛岀姸鎬佺爜涓虹伆鑹茬殑璇鋒眰鍒欎唬琛ㄤ嬌鐢ㄤ簡寮哄埗緙撳瓨錛岃鋒眰瀵瑰簲鐨凷ize鍊煎垯浠h〃璇ョ紦瀛樺瓨鏀劇殑浣嶇疆錛屽垎鍒涓篺rom memory cache 鍜 from disk cache銆傞偅涔坒rom memory cache 鍜 from disk cache鍙堝垎鍒浠h〃鐨勬槸浠涔堝憿錛熶粈涔堟椂鍊欎細浣跨敤from disk cache錛屼粈涔堟椂鍊欎細浣跨敤from memory cache鍛錛
from memory cache浠h〃浣跨敤 鍐呭瓨涓鐨勭紦瀛 錛宖rom disk cache鍒欎唬琛ㄤ嬌鐢ㄧ殑鏄 紜鐩樹腑鐨勭紦瀛 錛
C. ios前端有緩存
ios前端有緩存的解決方法:
1.此時在ios app的沙盒文件中將保存好已經緩存的文件,如果此時沒有退出APP,那麼緩存的內容同時也會保存在內存中;如下圖(此處針對的UIWebView)
2.此時可以看到這Caches文件中,後面的Paul.H5下面多了Cache.db的資料庫,打開資料庫可以看到以下內容;注意 此時的圖片資源也是保存在Paul.H5下面的文件中
D. vue前端離開頁面前 防止表單數據丟失
要防止用戶在Vue前端離開頁面前表單數據丟失,可以利用Vue的keepalive組件進行表單內容的緩存。
具體實現方法如下:
利用keepalive組件:
- keepalive是Vue的內置組件,用於緩存不活躍的組件實例,而不是銷毀它們。這樣,當用戶返回頁面時,表單數據仍然保留在內存中。
在App.vue中添加keepalive標簽:
- 將需要緩存的表單頁面組件包裹在keepalive標簽內。可以通過include屬性指定需要緩存的組件名稱,或者通過exclude屬性排除不需要緩存的組件。
在路由文件中添加meta屬性:
- 可以在路由配置中為需要緩存的頁面添加meta屬性,例如meta: { keepAlive: true },以便在編程時動態控制keepalive的行為。
在跳轉的新頁面中添加beforeRouteLeave生命周期鉤子:
- 在用戶離開當前表單頁面時,可以在beforeRouteLeave鉤子中執行一些操作,例如提示用戶保存表單數據,或者自動保存表單數據到localStorage等持久化存儲中。但請注意,這里主要討論的是利用keepalive緩存表單數據,因此通常不需要在beforeRouteLeave中保存數據到持久化存儲,除非有額外需求。
注意事項:
- keepalive只會緩存其直接子組件,而不會遞歸地緩存所有後代組件。因此,如果表單頁面組件嵌套在其他組件內部,需要確保keepalive直接包裹表單頁面組件。
- 使用keepalive時,需要注意組件的生命周期函數。特別是activated和deactivated這兩個生命周期函數,它們會在組件被激活和停用時調用。這可以用於在組件重新激活時執行一些初始化操作,或者在組件停用時執行一些清理操作。
通過上述方法,可以有效地防止用戶在Vue前端離開頁面前表單數據丟失的問題,提升用戶體驗。
E. 前端javascript編程如何獲取緩存和清除緩存api
在前端JavaScript編程中,獲取和清除緩存主要依賴於localStorage和sessionStorage API。
本地存儲(localStorage)和會話存儲(sessionStorage)能持久化存儲數據,即使關閉瀏覽器或重啟電腦也能保持。獲取本地存儲中的數據,可使用以下代碼:
清除本地存儲數據的步驟如下:
注意,以上API僅適用於本地存儲操作。若應用採用其他緩存機制(如瀏覽器緩存或服務端緩存),則需使用對應API進行清除。