精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

如何實現一個稍微復雜的simplelist

開發 前端
使用過一些清單類的應用程序,像 WunderList, Google Keep等,用來記錄一些計劃和安排,也試著將自己的計劃安排同筆記一起整理在 Evernote 中,但是無論哪種方式用起來總覺得少了點什么,如果兩者的一些功能能夠結合起來,就很完美了。

使用過一些清單類的應用程序,像 WunderList, Google Keep等,用來記錄一些計劃和安排,也試著將自己的計劃安排同筆記一起整理在 Evernote 中,但是無論哪種方式用起來總覺得少了點什么,如果兩者的一些功能能夠結合起來,就很***了。

“todo”和“note”之間的關系本來就很微妙,一個“todo”寫得詳細點不就成了“note”嗎?于是自己寫了一個稍微復雜一點的清單程序,今天將項目總結整理在此。

我試著將 todo和 note 結合,可以像 WunderList 一樣記錄計劃,又可以 Evernote 一樣管理筆記。在開發過程中,反復調整和修改,最終發現:其實我只是做了一個支持 markdown 的 簡易版WunderList :(。不管怎么樣,能堅持下來就是值得鼓勵的。整個工程前后端分離,后端實現不在此介紹

前端代碼地址

后端代碼地址

在線預覽

接下來,我簡單介紹一下 simplelist 的前端實現過程。注意,下面介紹的一些過程不是一蹴而就,是反復修改和整理得出的,比如技術選擇和組件的劃分。

編寫代碼的前期準備工作

有三點

  1. 確定需要實現的功能
  2. 確定界面
  3. 確定技術實現的方案

功能和界面先放一邊,介紹一下采用的技術方案。其實也沒啥可介紹的,前端老司機花樣多,但是主流的套路也就那么幾種,我選擇“套路のVue”。Vue+ Vuex+ Vue-Router,其他配件像 Less,Webpack等大家也應該都清楚。用戶登陸注冊及接口的實現不在本文章的討論中,下次再講。

組件劃分很關鍵

在 React 的組件化的劃分方式中,將組件分成兩種:Container Components和Presentational Components,容器組件和 UI組件。容器組件負責數據和業務邏輯的處理,攜帶相關的內部狀態,與數據有頻繁的交互, UI組件只負責 UI 的呈現,沒有任何的數據和邏輯的處理,組件的數據從容器組件傳遞進來(在 React中數據由 this.props 提供)。如果一個組件既有 UI 又有業務邏輯,可以試著將它拆分成兩個:一個容器組件,包著一個UI 組件。前者負責與外部的通信,將數據傳給后者,由后者渲染出視圖。

個人比較喜歡這種方式,組件變得純粹。不過似乎在 Vue 生態圈中沒有設計這方面的介紹,在后面我打算嘗試使用這種方式,不過現在還是使用相對粗暴一點的方式來劃分。

 

這是 WunderList 的界面,簡單的分析之后,可以將其劃分成如下形式,再詳細一點的話可以看下圖,如果堅持容器組件和 UI組件的形式開發的話,相對較復雜一點,而我選擇先從簡單的入手。想必你應該看過TodoMVC,而這樣也是simplelist 的最簡單也是最核心的功能。所以在實際操作過程中,我先將輸入框和單個任務這兩個組件實現。

 

Vuex

Vuex 是一個專門為 Vue.js 應用所設計的集中式狀態管理架構。它借鑒了 Flux 和 Redux 的設計思想,但簡化了概念,并且采用了一種為能更好發揮 Vue.js 數據響應機制而專門設計的實現。

在單獨使用 Vue.js 的時候,通常會把狀態儲存在組件的內部。整個應用的數據和狀態都是散落在各個組件。這樣并沒有有什么問題,組件的數據組建自己管理。有時候狀態的一部分需要共享給其他的組件,此時使用事件系統,讓一個組件把一些狀態“發送”到其他組件,但是當項目一步步擴大時,事件流將變得繁雜,不利于調試和維護。此時 Vuex 可以幫助我們實現狀態的管理。

Vuex 的四個核心概念分別是:

  1. The state tree:Vuex 使用單一狀態樹,用一個對象就包含了全部的應用層級狀態,作為一個『唯一數據源(SSOT)』而存在。每個應用將僅僅包含一個 store 實例。單狀態樹讓我們能夠直接地定位任一特定的狀態片段,在調試的過程中也能輕易地取得整個當前應用狀態的快照。數據流都是單向的。
  2. Getters:用來從 store 獲取 Vue 組件數據。
  3. Mutators:事件處理器用來驅動狀態的變化,只有 mutation 可以改變狀態。
  4. Actions:可以給組件使用的函數,用來派發 Mutation。

Vuex 規定,屬于應用層級的狀態只能通過 Mutation 中的方法來修改,而派發 Mutation 中的事件只能通過 action。從組件出發,組件中調用 action,在 action 這一層級我們可以和后臺數據交互,比如獲取初始化的數據源,或者中間數據的過濾等。然后在 action 中去派發 Mutation。Mutation 去觸發狀態的改變,狀態的改變,將觸發視圖的更新。

 

配合 Vuex 這樣的數據管理架構,我只需要關心組件的狀態變化,數據的變化和流通全部交給 Vuex。我需要維護一個數組,數組中每一個元素代表一個任務,輸入框和任務上的編輯刪除等操作,本質上都是對一個數組的操作。

給任務加上分類

我已經說過了,我要做的是復雜的 simplelist。所以,在完成了最簡單的增刪改的功能之后,要加上任務的自己的歸屬了。每個任務都歸屬于一個清單,有唯一的清單 id(list_id)。就像 WunderList 一樣,左側清單列表,右側任務列表。這時候需要用到單頁引用中必不可少的路由裝置了。

從簡單的開始,除了登錄和注冊(目前整合在應用中,更好的做法應該是登錄注冊作為兩個單獨的頁面,這里只是個人 demo,暫不考慮),暫且只有一種路由狀態,用來指向對應的清單,例如:/lists/:id。下面是偽代碼

  1. <div id="app"
  2.   <router-view></router-view
  3. </div>  
  1. const ListItem =  { 
  2.   template: `<div class="item">{{item.title}}</div>`, 
  3.     props: ['item'], 
  4. const ListContainer = { 
  5.   template: `<div class="list"
  6.       <h2>List {{ $route.params.id }}</h2> 
  7.         <div class="item-list"
  8.             <list-item v-for="item in list" :item='item'></list-item>  
  9.         </div> 
  10.     </div>`, 
  11.     components: { 
  12.         'list-item': ListItem, 
  13.     }, 
  14.  
  15. const router = new VueRouter({ 
  16.   routes: [ 
  17.     { path: '/lists/:id', component: ListContainer } 
  18.   ] 
  19. })  

然后綁定好 <router-link>,路由切換就算完成了。但是光這樣還不行,最關鍵的清單數據管理還沒有加上。其實清單的數據狀態管理與任務的管理大同小異,就不在此復述,你可以試著捋一捋。

彈層組件的管理

在創建和編輯清單的時候,需要彈出一個 modal 來方便操作(參照 WunderList)。這個時候就涉及到一個問題:這種定位不是很清晰的模塊,該怎么來管理?

在我看來,這種類型模塊大致有兩類,一類是全局共享,可能在很多不同的組件中都需要調用,這種全局的我認為可以單獨拿出來放在同一個地方供應用調用。另一類是只屬于某一個組件,只會在固定的組件中被調用,這類模塊推薦直接寫在組件中,方便管理,***是寫在***組件中,避免一些全七八糟的樣式沖突(目前我遇到的主要還是層疊順序的問題)。

思路清晰之后,可以很順利的完成清單的創建和編輯功能。

說到這,一個復雜的 simplelist 的基本結構和功能已經出現了。那么問題來了,你學到了嗎?

責任編輯:龐桂玉 來源: segmentfault
相關推薦

2011-04-27 16:34:06

withSQL Server

2016-09-30 10:13:07

分布式爬蟲系統

2017-12-12 15:24:32

Web Server單線程實現

2022-03-14 10:02:03

散列表鏈表哈希表

2022-03-24 14:58:02

Java散列表編程語言

2017-02-06 10:30:13

iOS表單正確姿勢

2023-02-26 01:37:57

goORM代碼

2023-03-01 09:39:40

調度系統

2020-08-17 08:20:16

iOSAOP框架

2024-05-07 09:02:47

2017-08-11 17:55:48

前端JavaScript模板引擎

2021-03-17 07:07:21

系統程序員SDI

2015-05-06 13:39:15

Windows系統復雜

2011-12-26 16:39:43

局部函數

2022-10-20 11:00:52

SQL解析器

2020-05-19 10:45:31

沙箱前端原生對象

2024-03-15 15:20:10

并發服務IP

2021-01-26 10:33:45

前端開發技術

2021-05-27 09:50:03

連接池FTP服務器

2016-09-06 19:45:18

javascriptVue前端
點贊
收藏

51CTO技術棧公眾號

国产一级特黄视频| 亚洲人成色77777| 精品人妻伦一二三区久久| 海角社区69精品视频| 日韩成人av网址| 中文字幕第80页| 影音先锋男人资源在线| 91麻豆精品在线观看| 国产美女扒开尿口久久久| 欧美黄色一区二区三区| 九热爱视频精品视频| 欧美一卡二卡在线观看| 国产aaa一级片| 综合久久2o19| 欧美激情综合五月色丁香| 51精品国产人成在线观看| 1级黄色大片儿| 999久久久91| 亚洲欧美精品中文字幕在线| 亚洲自拍第三页| gay欧美网站| 亚洲一区二区三区四区中文字幕| 日韩免费av电影| 国模人体一区二区| 国产在线视视频有精品| 国产91精品最新在线播放| 久久久久久久国产视频| 99精品美女| 亚洲人成电影网站色…| 国产精品成人99一区无码| 免费在线看成人av| 亚洲人午夜精品天堂一二香蕉| 国产精品日韩一区二区免费视频| 亚洲熟妇无码久久精品| 性色一区二区| 91精品国产91久久久久久最新| 黑鬼狂亚洲人videos| 国产一区二区欧美| 亚洲精品午夜精品| av2014天堂网| 加勒比久久高清| 欧美成人高清电影在线| 国产精品igao网网址不卡| 国产精品亚洲d| 日本韩国视频一区二区| 欧美性大战久久久久xxx | 狠狠色狠狠色合久久伊人| 国产成人精品一区二区| 狠狠人妻久久久久久综合| 国产农村妇女精品一区二区| 久久日韩视频| 天堂av免费在线| 一个人看的www视频在线免费观看 一个人www视频在线免费观看 | 人人香蕉久久| 亚洲精品720p| 变态另类丨国产精品| 久久成人福利| 亚洲精品美女在线观看| 人人妻人人澡人人爽人人精品| 另类ts人妖一区二区三区| 亚洲国产成人一区| 国产一级二级在线观看| 免费短视频成人日韩| 亚洲色图18p| 国产欧美一区二区三区在线观看视频| 欧美日韩国产在线观看网站| 中文字幕久久亚洲| 黑人狂躁日本娇小| 欧美三级免费| 日韩成人激情在线| 国产精品久久毛片av大全日韩| 欧美精品自拍偷拍| 三级在线免费看| 先锋影音一区二区| 久久久噜噜噜| 午夜免费久久久久| 亚洲欧美偷拍视频| 免费在线成人网| 亚洲aaa激情| 日本免费黄视频| 黄色片视频在线播放| 啪一啪鲁一鲁2019在线视频| 精品久久久久久久久国产字幕| 欧美一区二区三区白人| 国产精品wwwww| 欧美videos粗暴| 蜜臀a∨国产成人精品| 欧美高清无遮挡| 精品在线播放视频| 奇米色一区二区| 成人3d动漫一区二区三区91| 清纯唯美亚洲色图| 亚洲欧美激情在线| 欧美 日韩 激情| 99视频有精品高清视频| 亚洲精品美女久久久久| 午夜精品久久久久99蜜桃最新版 | 亚洲激情成人网| 欧美波霸videosex极品| 韩日成人av| 国产精品青青在线观看爽香蕉| wwwxxxx国产| 国产欧美日本一区视频| 欧美一级视频在线播放| 福利精品在线| 精品亚洲一区二区三区在线观看 | 黑人一区二区三区四区五区| 国产va免费精品高清在线| 国产极品久久久| 久久精品免费在线观看| 国产www免费| 91国产精品| 一区二区三区黄色| 国产精品久久久免费视频| 国产中文字幕一区| 五月婷婷一区| av高清不卡| 亚洲国产精品推荐| 亚洲成人生活片| 老司机免费视频一区二区| 国产精品乱码妇女bbbb| 91精品国产综合久久香蕉922| 亚洲aⅴ乱码精品成人区| 亚洲天堂久久久久久久| 天天操天天爱天天爽| 亚洲人和日本人hd| 国内精品一区二区三区四区| 国产精品久久久久久久免费看| 久久精品亚洲一区二区三区浴池| 无码粉嫩虎白一线天在线观看| 精品国产一区二| 久久婷婷国产麻豆91天堂| 真实的国产乱xxxx在线91| 91视频在线观看免费| 亚洲国产精品无码观看久久| 天堂va欧美ⅴa亚洲va一国产| 久久精品一偷一偷国产| 一级片aaaa| 国产精品色婷婷| 天堂在线资源视频| 日韩精品91| 国产精品影院在线观看| 粉嫩av在线播放| 欧美色涩在线第一页| 男人舔女人下部高潮全视频| 久久不射网站| 欧美亚洲精品日韩| 澳门av一区二区三区| 亚洲网站视频福利| 中文字幕乱码在线观看| 国产精品情趣视频| 国产视频手机在线播放| 日韩伦理一区| 91最新国产视频| 尤物视频在线看| 亚洲精品一区二区三区蜜桃下载| 久久网中文字幕| 福利一区二区在线| 鲁一鲁一鲁一鲁一澡| 亚洲精品亚洲人成在线| 国产不卡视频在线| 69久久夜色| 欧美一区二区三区免费在线看| 欧美成欧美va| a在线欧美一区| www.xxx亚洲| 93在线视频精品免费观看| 91亚洲精品久久久| 波多野结衣在线高清| 日韩精品视频在线免费观看| 丰满少妇xoxoxo视频| 国产精品免费视频一区| 国产成人自拍视频在线观看| www国产亚洲精品久久网站| 日韩福利视频| 极品视频在线| 亚洲欧美中文字幕| 在线视频欧美亚洲| 日本成人7777| 亚洲新声在线观看| 国产农村妇女毛片精品| 亚洲中国最大av网站| 亚洲中文字幕无码av| 日韩成人午夜精品| 日本一区二区三区四区五区六区| 久久悠悠精品综合网| 欧美精品一区二区不卡| 精品国产一二三| 在线黄色免费网站| 日韩精品久久久久久| 在线视频福利一区| 精品淫伦v久久水蜜桃| 国产精品久久久999| av网址在线免费观看| 日韩精品视频三区| 国产成人精品一区二三区四区五区 | 国产免费久久精品| 欧美激情第一区| 国产乱码精品| 中国老女人av| 精品成人影院| 国新精品乱码一区二区三区18| 99只有精品| 久久在线精品视频| 国产精品av在线播放| www.色小姐com| 久久精品视频免费| 亚洲911精品成人18网站| 日韩精品1区2区3区| 日本黄大片在线观看| 青青草国产免费一区二区下载| 国产精品推荐精品| 四虎地址8848精品| 日韩av电影手机在线观看| 国产性生活免费视频| 国产伦精品一区二区三区免.费| 亚洲国产一区二区三区青草影视| 91在线无精精品白丝| 成人av综合一区| 成人亚洲免费视频| 日韩主播视频在线| 欧美 国产 综合| 你懂的国产精品永久在线| 日韩av一区二区三区美女毛片| 久青草免费视频| 国产麻豆免费视频| 三级欧美韩日大片在线看| 国产激情在线看| 日韩欧美字幕| 日韩中文一区二区三区| 亚洲日本三级| 久久久久久久免费| 国内精品国产成人国产三级粉色 | 国产精品成人**免费视频| 国产精品久久久久久一区二区| 蜜桃视频在线网站| 亚州欧美日韩中文视频| 免费在线观看av电影| 欧美成人性色生活仑片| 国产理论在线观看| 久久夜精品香蕉| 精品自拍一区| 久久av中文字幕| 91麻豆一二三四在线| 久久久91精品| 欧美家庭影院| 久久久久久国产精品久久| 男男gaygays亚洲| 欧美激情欧美狂野欧美精品| 激情在线小视频| 亚洲少妇中出一区| 一级片免费在线观看视频| 麻豆一区二区三区| 男生操女生视频在线观看| 精品综合免费视频观看| 男人午夜视频在线观看| 国产一区二区三区香蕉| 中文字幕乱妇无码av在线| 国产成人av电影免费在线观看| av免费观看不卡| 91视频免费看| 熟女少妇内射日韩亚洲| 国产精品少妇自拍| 永久看片925tv| 亚洲成人中文在线| 狠狠狠狠狠狠狠| 欧美日韩另类一区| 亚洲av色香蕉一区二区三区| 精品国产sm最大网站免费看 | 亚洲天堂av图片| 91青青在线视频| 九九精品视频在线| 涩涩视频网站在线观看| 国产精品久久久久久网站| 国产精品66| 肥熟一91porny丨九色丨| 日本一区福利在线| 一区二区三区在线视频111| 欧美一区91| 国产乱子伦农村叉叉叉| 男女性色大片免费观看一区二区| 四虎成人在线播放| 91视频国产观看| 国产又色又爽又高潮免费| 亚洲一区二区欧美日韩| 免费看日批视频| 欧美一区二区在线看| 先锋av资源站| 久久久av网站| 春暖花开亚洲一区二区三区| 亚洲最大福利视频网| 蜜桃a∨噜噜一区二区三区| 中文字幕免费在线不卡| 99视频精品| 成人av毛片在线观看| www久久精品| 日本a级片视频| 91福利国产精品| 人妻少妇精品无码专区久久| 自拍偷拍亚洲一区| 日韩精品av| 99国产超薄丝袜足j在线观看 | 伊人中文字幕在线观看| 欧美一区二区三区精品| 国产片在线观看| 97视频免费在线看| 免费欧美网站| 亚洲国产精品www| 久久精品在线| 国产精品成人无码专区| 成人免费视频在线观看| 男操女视频网站| 精品亚洲va在线va天堂资源站| av网址在线播放| 国产一区红桃视频| 久久不见久久见中文字幕免费| 国产精品69久久久| 国产一区二区在线观看视频| 女人十八毛片嫩草av| 欧美性猛交xxxx黑人| 免费av一级片| 欧美激情国产高清| 国产成年精品| 在线视频欧美一区| 美国一区二区三区在线播放| 欧洲女同同性吃奶| 精品久久久久久国产| 欧美一区二区三区成人片在线| 粗暴蹂躏中文一区二区三区| 福利一区和二区| 五月天久久狠狠| 天堂av在线一区| 伊人网在线视频观看| 精品日韩中文字幕| 无码精品黑人一区二区三区 | 韩国三级一区| 欧美另类一区| 久久国产毛片| 制服 丝袜 综合 日韩 欧美| 欧美午夜无遮挡| 欧美91精品久久久久国产性生爱| 97精品一区二区三区| 免费萌白酱国产一区二区三区| 精品国偷自产一区二区三区| 国产.欧美.日韩| 国产精品第56页| 日韩精品免费综合视频在线播放| 筱崎爱全乳无删减在线观看 | eeuss影院www在线播放| 国产成人综合久久| 二区在线视频| 久久青草国产手机看片福利盒子 | 99在线观看免费| 久久久精品免费视频| 国产精品亚洲一区二区在线观看| 国产精品美女在线播放| 国产一区二区精品久久91| 久久免费看少妇高潮v片特黄| 欧美一级黄色录像| 丰满大乳少妇在线观看网站| 国产欧美日韩在线播放| 国产精品美女久久久| 在线观看日本中文字幕| 欧美天堂一区二区三区| 老司机精品视频在线观看6| 5g国产欧美日韩视频| 一区二区动漫| ass极品国模人体欣赏| 欧美日本在线视频| 蜜臀av在线| 久热国产精品视频一区二区三区| 日韩国产在线观看| 亚洲综合网在线| 亚洲国产精品推荐| 福利一区在线| 久久综合久久久久| 久久久久国产免费免费| 97人妻一区二区精品免费视频| 久久99精品久久久久久琪琪| 欧美精品中文| 免费成年人高清视频| 一区二区激情小说| 成年女人的天堂在线| 亚洲a成v人在线观看| 午夜一级久久| 小泽玛利亚一区| 日韩成人中文字幕在线观看| 国产精品亲子伦av一区二区三区| 欧美激情亚洲天堂| 国产日产亚洲精品系列| av 一区二区三区| 日韩av电影在线免费播放| 中文字幕一区二区av| 中文字幕狠狠干| 日韩欧美国产电影| 国产精品伦一区二区| 播放灌醉水嫩大学生国内精品| 专区另类欧美日韩| 国产视频二区在线观看| 成人欧美一区二区三区在线观看|