基於vue+vuex+localStorage開發的本地記事本

本文采用vue2.0+vuex+localStorage+sass+webpack,實現一個本地存儲的記事本。兼容PC端和移動端。在線預覽地址:DEMOvue


功能說明

  • 支持回車添加事件
  • 支持事件狀態切換node

    • 添加事件 -> 進入未完成列表
    • 未完成 -> 已完成(勾選checkbox)
    • 未完成 -> 已取消(點擊取消按鈕)
    • 已完成 -> 未完成(取消勾選checkbox)
    • 已取消 -> 未完成(點擊恢復按鈕)
  • 支持下載數據到notepad.txt文件
  • 支持篩選事件
  • 支持編輯事件
  • 支持刪除事件
  • 支持清空全部事件
  • 支持本地化存儲
  • 支持摺疊面板
  • 支持切換主題顏色

安裝步驟

本項目是使用vue-cli腳手架生成的項目,項目代碼能夠到個人github上clone下來。clone下來以後可進入文件目錄webpack

git clone https://github.com/lin-xin/notepad.git      // 把模板下載到本地
cd notepad                                            // 進入模板目錄
npm install                                           // 安裝項目依賴,等待安裝完成以後
npm run dev                                              // 便可在本地開啓 http://localhost:8080 訪問該項目

// 若是 node-sass 安裝失敗,可以使用 cnpm 安裝
npm install cnpm -g --registry=https://registry.npm.taobao.org
cnpm -v             // 查看cnpm版本號確認安裝成功
cnpm install node-sass -D

//安裝成功後再看看是否能夠正確運行了

功能截圖

image
image

主要難點

1.摺疊面板

難點:點擊摺疊面板title,要動畫實現sliderUp和sliderDown,可是div高度auto,使用transition: height .3s無效。git

解決方法:點擊時候獲取div高度值,賦值給style.height,而後再改變高度爲0,這樣transition纔會生效。github

2.切換狀態

難點:在不一樣的狀態間切換,實時地把事件在不一樣狀態列表中顯示出來web

解決方法:利用vuex進行狀態管理,把全部事件和狀態存儲在store對象中,在組件中經過計算屬性得到事件,所以就有了實時性。
關於vuex在該項目中更詳細的應用可查看文章:Vuex 模塊化實現待辦事項的狀態管理vue-router

3.本地存儲

知識點:localStorage是HTML5提供的一種在客戶端存儲數據的新方法,沒有時間限制,次日、第二週或下一年以後,數據依然可用。vuex

用法:vue-cli

1)存儲數據:localStorage.setItem(item, value)
2)獲取數據:localStorage.getItem(item)
3)移除數據:localStorage.removeItem(item)

4.父子組件間的通信

知識點:組件實例的做用域是孤立的。這意味着不能而且不該該在子組件的模板內直接引用父組件的數據。npm

1)父組件可使用 props 把數據傳給子組件。
2)子組件可使用 $emit 觸發父組件的自定義事件。

5.篩選功能

功能描述:可根據 類型 和 關鍵詞 進行篩選

知識點:在返回全部事件的計算屬性上,使用過濾器( filter ),進行對 type 和 content 的篩選,返回符合條件的事件。

6.切換主題

功能描述:經過點擊選中的顏色,改變整個記事本的主題風格,並永久保存。

知識點:使用vuex管理主題狀態,並進行模塊化管理,用localStorage永久存儲選中的主題顏色。

總結

雖然只是作了個小小的記事本,可是我感受收穫仍是很大的,不少知識點掌握得更加的牢固。這個記事本只作了一個頁面,就沒有用vue-router,路由也是vue裏很強大的功能。 作這個記事本的初衷,是由於在工做中,我都會把最近要作的事情給記在本子上,完成以後就會打鉤,因此想把這個給放到電腦上去實現。

01-25:添加篩選功能02-07:修復issues 取消事件的bug #102-28:添加下載數據到notepad.txt的功能03-13:添加切換主題顏色功能

相關文章
相關標籤/搜索