精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

黄色动漫网站入口| 久久精品99无色码中文字幕 | 在线能看的av网站| 成人在线观看亚洲| 99精品视频一区二区| 国产精品高清免费在线观看| 国模无码国产精品视频| 欧美国产不卡| 欧美日韩成人在线一区| 欧美一级欧美一级| 天堂地址在线www| 亚洲一区导航| 亚洲国产视频一区| 婷婷久久五月天| 日韩一级片免费在线观看| 蜜臀久久99精品久久久画质超高清 | 无码av免费一区二区三区试看 | 免费亚洲一区| 成年人精品视频| b站大片免费直播| caoporn成人免费视频在线| 欧美综合一区二区三区| 久久久久久www| a毛片在线看免费观看| 久久久久久久国产精品影院| 成人在线免费网站| 国产又粗又猛又黄又爽| 日韩**一区毛片| 66m—66摸成人免费视频| 成年人一级黄色片| 成人久久一区| 亚洲欧美国内爽妇网| 成人做爰69片免费| 精品成人18| 欧美在线观看一区二区| 久久婷婷国产精品| 9999在线视频| 白浆在线视频| 日本综合在线观看| 五月天丁香社区| 男女羞羞在线观看| 一区二区三区免费在线观看| 精品欧美国产一区二区三区| 亚洲人成五月天| 成年女人免费视频| 亚洲1区在线观看| 3d动漫精品啪啪1区2区免费| 26uuu久久噜噜噜噜| 女~淫辱の触手3d动漫| 老司机精品在线| 精品区一区二区| 欧美人与性动交α欧美精品| 国产一区二区| 3d动漫精品啪啪一区二区竹菊| 最新天堂在线视频| 欧美一区二区三区婷婷| 欧美日韩一级视频| 青青草久久伊人| 91嫩草国产线观看亚洲一区二区 | 国产精品久久免费视频| 欧美日本一区二区| 国内自拍第二页| www.91精品| 欧美成人伊人久久综合网| 精品人妻二区中文字幕| 久久草在线视频| 国产午夜精品理论片a级探花| aaaaaav| 国产精品免费99久久久| 丝袜亚洲欧美日韩综合| 疯狂撞击丝袜人妻| 亚洲调教视频在线观看| 91av视频在线| www.av88| 国产成人综合亚洲网站| 激情小说网站亚洲综合网| 亚洲第一导航| 欧美双性人妖o0| 少妇一区二区三区四区| 亚洲国产剧情在线观看| 国产在线看一区| av电影成人| 天天干在线观看| 日本一区二区三区四区在线视频| 一区二区三区久久网| 日本在线视频网址| 日韩欧美精品在线观看| 国产三级精品三级在线| 国产主播性色av福利精品一区| 亚洲精品资源在线| 国产黄a三级三级| 国产精品草草| 国产成人欧美在线观看| 99久久精品国产成人一区二区| 成人av资源站| 亚洲欧美日产图| 国产啊啊啊视频在线观看| 中文字幕欧美国产| 亚洲国产精品影视| 国产网站在线| 欧美日韩黄视频| 国产女人18毛片水真多18| 欧洲视频一区| 高清欧美一区二区三区| 亚洲天堂视频网| 不卡影院免费观看| 一区二区免费在线观看| 日韩脚交footjobhdboots| 欧美另类高清zo欧美| 奇米777第四色| 欧美大片aaaa| 日韩av男人的天堂| 超碰在线观看99| 性欧美1819sex性高清大胸| 国产精品12区| 久久精品国产99久久6| 亚洲欧美另类小说| 91九色丨porny丨国产jk| 本网站久久精品| 亚洲高清色综合| 国产精品嫩草影院俄罗斯| 免费欧美日韩| 国产免费一区| 成人在线免费看片| 日韩一区二区三区高清在线观看| 三级亚洲高清视频| 不卡视频一区二区三区| 成人免费高清在线播放| 午夜视频一区在线观看| 在线观看免费看片| 99re66热这里只有精品8| 日本高清不卡在线| 无码精品人妻一区二区| 一个色在线综合| 91 视频免费观看| av一区二区高清| 欧美专区在线观看| 天天操天天干天天爽| 亚洲日本丝袜连裤袜办公室| 99re精彩视频| 久久精品99久久无色码中文字幕| 热99精品里视频精品| 日夜干在线视频| 精品国产1区2区| 日韩中文字幕在线视频播放| 自拍视频第一页| 婷婷精品进入| 91美女福利视频高清| 瑟瑟视频在线| 欧美精品一二三四| 三上悠亚作品在线观看| 韩国毛片一区二区三区| 国产精品久久成人免费观看| 成人在线精品| 欧美成在线视频| 亚洲精品一级片| 亚洲成人免费av| 少妇一级淫片免费放播放| 一本色道久久综合亚洲精品高清| 国产亚洲欧美一区二区三区| 9999精品成人免费毛片在线看| 亚洲精品福利免费在线观看| 国产微拍精品一区| 国产亚洲综合av| 一区二区三区欧美精品| 欧美 日韩 人妻 高清 中文| 99久久精品情趣| 久章草在线视频| 欧洲毛片在线视频免费观看| 成人精品在线观看| 蜜桃传媒在线观看免费进入| 亚洲国产精品一区二区三区 | 亚洲一区二区视频在线观看| 少妇性l交大片7724com| 91久久中文| 日韩hmxxxx| 精品视频一二| 久久免费视频在线| 国产高清在线| 69久久99精品久久久久婷婷| 国产在线视频99| 久久精品亚洲乱码伦伦中文| 日本中文字幕观看| 欧美亚韩一区| 日本黑人久久| 美女国产精品久久久| 51ⅴ精品国产91久久久久久| 国产九九在线| 欧美大胆人体bbbb| 免费看毛片网站| 亚洲欧美日韩国产一区二区三区| 亚洲男女在线观看| 毛片不卡一区二区| 被灌满精子的波多野结衣| 久久99蜜桃| 97中文在线| 欧美特大特白屁股xxxx| 久久久精品影院| 日本一本草久在线中文| 欧美丰满美乳xxx高潮www| 日本学生初尝黑人巨免费视频| 亚洲国产精品国自产拍av| 4438x全国最大成人| 久久久噜噜噜久久狠狠50岁| 国产精品igao激情视频| 国产成人影院| 国产精品一区二区三区免费| jizzjizz少妇亚洲水多| 欧美精品久久久久久久免费观看| 国产女主播在线写真| 欧美videos中文字幕| 怡春院在线视频| 精品久久中文字幕| 国产大学生自拍| 国产精品女同互慰在线看| 福利视频一二区| 美女日批在线观看| 无套内谢大学处破女www小说| 天天精品视频| 日韩av在线电影观看| julia中文字幕一区二区99在线| 国产欧美在线播放| 刘亦菲一区二区三区免费看| 欧美精品久久一区二区 | 综合av色偷偷网| 四虎电影院在线观看| 精品国产免费人成电影在线观看四季| 中文字幕乱码一区二区| 色哟哟亚洲精品| 91午夜视频在线观看| 亚洲一区在线观看网站| 黄色香蕉视频在线观看| 国产精品成人一区二区艾草| 日韩欧美黄色网址| 久久精品在这里| 全黄一级裸体片| 久久人人超碰精品| 大地资源二中文在线影视观看| 成人小视频免费在线观看| 成人欧美精品一区二区| 奇米精品一区二区三区在线观看一 | 永久免费在线观看视频| 亚洲天堂成人在线| 国产三级生活片| 成人无号精品一区二区三区| 青青草原成人| 国产成人黄色| 欧美日韩免费高清| 禁果av一区二区三区| 任我爽在线视频精品一| 中文字幕伦av一区二区邻居| 久久五月天婷婷| 亚洲va久久久噜噜噜久久| 久久精品二区| 亚洲国产最新| 五月婷婷一区| 国产国产精品| 黑人巨茎大战欧美白妇| 国内精品久久久久久久影视麻豆 | 黄色在线免费播放| av电影天堂一区二区在线| 成人h动漫精品一区| 国产日韩精品一区二区浪潮av| 懂色av蜜桃av| 亚洲天堂a在线| 精品久久免费视频| 色综合久久久久综合99| 中文字幕乱码视频| 欧美一区二区久久久| 人妻视频一区二区三区| 国产婷婷97碰碰久久人人蜜臀| 成人免费在线视频网| 久久韩国免费视频| 欧美v亚洲v| 国产成人亚洲精品| 国产精品麻豆| 精品国产一区二区三区久久久久久| 夜夜春成人影院| 亚洲欧洲精品一区二区三区波多野1战4 | 超碰在线cao| 国产精品99久久99久久久二8| 人人精品久久| 国产欧美一区二区三区另类精品| 国产欧美日韩视频在线| avove在线观看| 性久久久久久| 久草福利在线观看| 国产亚洲一区二区三区在线观看| 亚洲xxxx3d动漫| 日韩欧美在线国产| 国产片高清在线观看| 亚洲乱码一区二区| 国产成人l区| 亚洲18私人小影院| 日韩成人综合网站| 免费在线成人av电影| 先锋资源久久| 亚洲熟妇av一区二区三区| 精品一区二区免费在线观看| 久久精品女同亚洲女同13| 国产精品乱码一区二区三区软件| 久久精品性爱视频| 欧美精品xxxxbbbb| 少妇性bbb搡bbb爽爽爽欧美| 美日韩精品免费观看视频| 美女一区网站| 国产伦精品一区二区三区| 国产精品国内免费一区二区三区| 久久9精品区-无套内射无码| 国产福利一区在线| 蜜桃av免费在线观看| 精品久久久久久亚洲精品| 精品国产九九九| 日韩中文字幕av| 中文字幕高清在线播放| 不卡一区二区三区视频| 欧美成人自拍| 色七七在线观看| 91丨九色porny丨蝌蚪| 欧美黄色免费在线观看| 欧美精品色一区二区三区| 国产在线三区| 日韩av片免费在线观看| 看全色黄大色大片免费久久久| 国产成人免费高清视频| 美女视频黄 久久| av电影在线不卡| 日韩欧美一区视频| 特黄视频在线观看| 久久久在线视频| 综合激情久久| 久久福利一区二区| 国产精品一区二区久久不卡| 亚洲人与黑人屁股眼交| 欧美性大战久久久久久久蜜臀| 日本成人一区| 欧美在线视频在线播放完整版免费观看| 日韩在线观看一区二区三区| 中国 免费 av| 经典三级在线一区| 99热6这里只有精品| 91黄色免费观看| 成人免费在线电影| 国产精品男人爽免费视频1| 不卡一区2区| 久久综合伊人77777麻豆最新章节| 久久精品水蜜桃av综合天堂| 黄色一级视频免费看| 亚洲精品自在久久| 手机看片久久| 亚洲a∨一区二区三区| 日本不卡的三区四区五区| 国产探花视频在线播放| 欧美人妖巨大在线| 成人看片免费| 国产亚洲一区二区三区在线播放| 日韩午夜电影| 在线观看日本中文字幕| 欧美午夜精品免费| 男人资源在线播放| 91久久国产婷婷一区二区| 欧美1区视频| 日本国产在线视频| 欧美性黄网官网| 91欧美在线视频| 国产精品一区二区三| 日韩欧美在线电影| 色综合久久久| 欧洲精品视频在线| 成人av手机在线观看| 日本韩国欧美中文字幕| 中文字幕欧美一| 亚洲图片欧美在线| 九九热这里只有精品6| 国产一区调教| 热久久精品免费视频| 亚洲天堂久久久久久久| 日韩一级片免费观看| 国产精品白嫩美女在线观看| 99精品国产一区二区三区| 一级黄色大片免费看| 欧美性猛交xxxx乱大交| 日本在线天堂| 国产美女在线精品免费观看| 日韩精品三区四区| 国产一区二区视频在线观看免费| 亚洲国产精品va| 成人亚洲网站| av无码久久久久久不卡网站| 国产午夜精品美女毛片视频| 国产熟女精品视频| 欧美在线影院在线视频| 天天综合网91| 熟女俱乐部一区二区| 91精品婷婷国产综合久久| 天堂√8在线中文| 激情视频小说图片| 国产三级精品三级| 亚洲精品国产av| 国产精品视频在线播放|