Vue+element實(shí)現(xiàn)todo(六—本地存儲(chǔ))

還有一個(gè)問(wèn)題,現(xiàn)在只要我們一刷新瀏覽器,所有item 都沒(méi)了,我們可以使用瀏覽器的 LocalStorage 來(lái)實(shí)現(xiàn)數(shù)據(jù)的持續(xù)性存儲(chǔ)。這樣一來(lái)只要用戶不刪除瀏覽器緩存,我們的 item 會(huì)一直在,當(dāng)然也可以使用數(shù)據(jù)庫(kù)使數(shù)據(jù)更持久存儲(chǔ),在這里我們用 LocalStorage。
首先來(lái)定義一個(gè)對(duì)象,用于 LocalStorage 存儲(chǔ)和獲取 item 的相關(guān)操作


image.png

STORAGE_KEY 用來(lái)區(qū)分存儲(chǔ)到 LocalStorage 的內(nèi)容,因?yàn)?LocalStorage 中可能存儲(chǔ)其它應(yīng)用的數(shù)據(jù),使用這個(gè) key 用于區(qū)分。

todoStorage 是一個(gè) JavaScript 的對(duì)象,它的屬性是兩個(gè)方法。save 方法把 list 轉(zhuǎn)為 JSON 格式,然后將序列化的數(shù)據(jù)存入對(duì)應(yīng) key 為 STORAGE_KEY 的本地存儲(chǔ)中,fetch 方法則從對(duì)應(yīng) STORAGE_KEY 的本地存儲(chǔ)將之前存入的 todo 數(shù)據(jù)取出并反序列化。注意這里還為 todoStorage 對(duì)象綁定了一個(gè) uid 屬性,它的作用是后續(xù)添加 todo 時(shí),用于確定新添加 todo 的 id。
因此,每當(dāng)用戶打開(kāi)頁(yè)面時(shí),我們因?yàn)槿?LocalStorage fetch 一下存儲(chǔ)的數(shù)據(jù)


image.png

另外,一旦添加了新的 todo,我們應(yīng)該及時(shí)將新的 todo 存到本地,防止關(guān)閉頁(yè)面而導(dǎo)致數(shù)據(jù)丟失,可以使用 Vue 的 watch 來(lái)監(jiān)聽(tīng)用戶添加item的事件,即監(jiān)視 this.list 的變化,一旦改變,立即修改本地存儲(chǔ)的list 的數(shù)據(jù)

同時(shí),當(dāng)添加 todo 時(shí),新的 todo id 不能是從 0 開(kāi)始了,而應(yīng)該從已有 todoStorage.uid 開(kāi)始


image.png

奶思!現(xiàn)在可以隨便刷新了~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Swift1> Swift和OC的區(qū)別1.1> Swift沒(méi)有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對(duì)...
    cosWriter閱讀 11,626評(píng)論 1 32
  • 本文是我今年2月份發(fā)表在博客園上的文章,平常做項(xiàng)目時(shí)便溫故一下。私以為,只有通過(guò)實(shí)踐才能將知識(shí)真正地內(nèi)化和吸收,再...
    一個(gè)笑點(diǎn)低的妹紙閱讀 891評(píng)論 0 2
  • ??支持離線 Web 應(yīng)用開(kāi)發(fā)是 HTML5 的另一個(gè)重點(diǎn)。 ??所謂離線 Web 應(yīng)用,就是在設(shè)備不能上網(wǎng)的情況...
    霜天曉閱讀 1,185評(píng)論 0 2
  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線程,因...
    小菜c閱讀 7,299評(píng)論 0 17
  • 本文介紹本地?cái)?shù)據(jù)存儲(chǔ)的選型。簡(jiǎn)單總結(jié)一些查詢到的關(guān)于本地?cái)?shù)據(jù)存儲(chǔ)的技術(shù)。 控制臺(tái)展示前端存儲(chǔ) Chrome: 前端...
    謝大見(jiàn)閱讀 9,288評(píng)論 1 8

友情鏈接更多精彩內(nèi)容