VUE項(xiàng)目中加載已保存的筆記實(shí)例方法
現(xiàn)在筆記內(nèi)容每次改變都會(huì)進(jìn)行保存操作,我們需要在應(yīng)用重新打開的時(shí)候恢復(fù)數(shù)據(jù)。這里
將使用 localStorage.getItem() API。將下面的代碼添加到 JavaScript 文件的最后:
一個(gè)基本的筆記編輯器
console.log('restored note:', localStorage.getItem('content'))
當(dāng)刷新應(yīng)用時(shí),可以看到在瀏覽器控制臺(tái)打印出了已經(jīng)保存的筆記內(nèi)容。
1. 生命周期鉤子
將筆記內(nèi)容恢復(fù)到 Vue 實(shí)例中的第一種方法就是在創(chuàng)建實(shí)例的時(shí)候設(shè)置 content 數(shù)據(jù)屬性
的內(nèi)容。
每個(gè) Vue 實(shí)例都嚴(yán)格遵循一個(gè)生命周期,包括多個(gè)環(huán)節(jié):創(chuàng)建,掛載到頁(yè)面,更新,最終被
銷毀。例如,在創(chuàng)建實(shí)例階段,Vue 會(huì)將實(shí)例數(shù)據(jù)變成響應(yīng)式數(shù)據(jù)。
鉤子是一組特殊的函數(shù),會(huì)在某個(gè)時(shí)間點(diǎn)被自動(dòng)調(diào)用。這就允許我們自定義框架
的邏輯。例如,可以在創(chuàng)建 Vue 實(shí)例時(shí)調(diào)用一個(gè)方法。
在每個(gè)環(huán)節(jié)之中或之前,有多個(gè)鉤子可以用于執(zhí)行邏輯。
beforeCreate:在 Vue 實(shí)例被創(chuàng)建時(shí)(例如使用 new Vue({}))、完成其他事項(xiàng)之前
調(diào)用
- created:在實(shí)例準(zhǔn)備就緒之后調(diào)用。注意,此時(shí)實(shí)例還沒有掛載到 DOM 中。
- beforeMount:在掛載(添加)實(shí)例到 Web 頁(yè)面之前調(diào)用。
- mounted:當(dāng)實(shí)例被掛載到頁(yè)面并且 DOM 可見時(shí)調(diào)用。
- beforeUpdate:當(dāng)實(shí)例需要更新時(shí)(一般來說,是當(dāng)某個(gè)數(shù)據(jù)或計(jì)算屬性發(fā)生改變時(shí))
調(diào)用
- updated:在把數(shù)據(jù)變化應(yīng)用到模板之后調(diào)用。注意此時(shí) DOM 可能還沒有更新。
- beforeDestroy:在實(shí)例銷毀之前調(diào)用。
- destroyed:在實(shí)例完全銷毀之后調(diào)用。
目前,我們只使用 created 鉤子來恢復(fù)筆記內(nèi)容。要添加一個(gè)生命周期鉤子,只需要將相
應(yīng)的名字作為函數(shù)添加到 Vue 實(shí)例選項(xiàng)中即可:
new Vue({
// ...
// 當(dāng)實(shí)例準(zhǔn)備就緒會(huì)調(diào)用這個(gè)鉤子
created() {
// 將 content 設(shè)置為存儲(chǔ)的內(nèi)容
// 如果沒有保存任何內(nèi)容則設(shè)置為一個(gè)默認(rèn)字符串
this.content = localStorage.getItem('content') || 'You can write in
** markdown ** '
},
})
現(xiàn)在刷新應(yīng)用,created 鉤子會(huì)在實(shí)例創(chuàng)建時(shí)被自動(dòng)調(diào)用。這將把 content 數(shù)據(jù)屬性設(shè)置
為恢復(fù)出來的數(shù)據(jù);如果表達(dá)式結(jié)果為假值(之前沒有保存過任何內(nèi)容),則會(huì)設(shè)置為'You can
以上就是本次介紹的全部知識(shí)點(diǎn)內(nèi)容,感謝大家對(duì)腳本之家的支持。
相關(guān)文章
antd design table更改某行數(shù)據(jù)的樣式操作
這篇文章主要介紹了antd design table更改某行數(shù)據(jù)的樣式操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-10-10
webpack vue 項(xiàng)目打包生成的文件,資源文件報(bào)404問題的修復(fù)方法(總結(jié)篇)
這篇文章主要介紹了解決webpack vue 項(xiàng)目打包生成的文件,資源文件報(bào)404問題的修復(fù)方法,需要的朋友可以參考下2018-01-01
Vue element商品列表的增刪改功能實(shí)現(xiàn)
這篇文章主要介紹了Vue+element 商品列表、新增、編輯、刪除業(yè)務(wù)實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
vue2.0使用swiper組件實(shí)現(xiàn)輪播的示例代碼
下面小編就為大家分享一篇vue2.0使用swiper組件實(shí)現(xiàn)輪播的示例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-03-03
vant使用datetime-picker組件設(shè)置maxDate和minDate的坑及解決
這篇文章主要介紹了vant使用datetime-picker組件設(shè)置maxDate和minDate的坑及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12
Vue組件通信入門之Provide和Inject機(jī)制
這篇文章主要給大家介紹了關(guān)于Vue組件通信入門之Provide和Inject機(jī)制的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Vue組件通信具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
Vue TypeScript使用eval函數(shù)遇到的問題
近幾年前端對(duì) TypeScript的呼聲越來越高,Typescript也成為了前端必備的技能。TypeScript是JS類型的超集,并支持了泛型、類型、命名空間、枚舉等特性,彌補(bǔ)了 JS 在大型應(yīng)用開發(fā)中的不足2023-01-01

