前言:如今有些人真心浮躁,我先發了一篇基礎《環境搭建》,就各類噴啊,各類黑啊,逼的我刪除掉了這篇文章,這個系列文章主要是針對初學者,若是你真是大神,而且以爲對你沒有幫助,你能夠選擇不看,可是,請不要抨擊別人的勞動成果。你行你上啊!🙄,順便懇請下,看完文章的各位童鞋幫我去github幫我點star能夠嗎?O(∩_∩)O,謝謝,😘,有什麼問題能夠加羣,直接找到我向我提問。javascript
首頁咱們拿到一張原型設計稿.複製代碼
注: 左邊的待辦項稱爲‘待辦事項’,右邊的內容部分文字稱爲’待辦單項‘vue
根據這些需求,咱們能夠先想一下咱們這個原型設計圖上面包含了哪些顯示的數據,和隱藏的數據呢?java
顯式數據:git
隱式數據:github
最終根據上面的分析,咱們獲得一個單條待辦事項應該有如下數據。api
{
id: String, //單條待辦項惟一標示
titie: String, // 標題
count: Number // 未完成待辦項數目
isDelete: Boolean, // 是否刪除(物理刪除)
locked: Boolean, // 是否鎖定
record : [ // 代辦項紀錄列表
{
text: String, // 文字內容
isDelete: Boolean, // 是否刪除(物理刪除)
checked: Boolean // 是否完成
}
]
}複製代碼
很是簡單的數據結構,你是否和想的和我同樣呢?數組
仔細的看上面的原型設計圖,咱們仔細想一想,完成這樣的數據須要幾個接口呢?數據結構
咱們在分析一個頁面須要的接口時候,咱們能夠從分析用戶產生的 action(即動做行爲)下手,就是你想像一下,若是你是一個用戶,你進入到這個頁面,須要看到什麼樣的內容,和執行怎麼樣的操做。app
從上面對用戶的action,進行分析,咱們獲得了10個須要與後臺數據交互的動做。這樣咱們就能夠知道api接口是什麼樣子的了?組件化
我理解api接口
注: 下文中的 api 指接口名,params指傳入數據,data指返回數據
api: /todo/list (get)
params: {}
/** * 左邊的列表確定是一個數組對象,考慮到咱們每點擊到這個標題, * 就會調轉到詳細,全部須要id來做爲標識進行跳轉, * 在根據圖上,標註好的標題,數字,鎖定圖標,獲得下面的標題 */
data : [
{
id: String, //單條待辦項惟一標示
titie: String, // 標題
count: Number // 未完成待辦項數目
locked: Boolean, // 是否鎖定
},
{...},
...
]複製代碼
api: /todo/addTodo (post)
params: {}
//這個接口沒什麼好多說的。
data : {};複製代碼
api: /todo/listId (get)
params : {id : xxx} //傳id
/** * 返回待辦項的全部數據 */
data : {
id: String,
titie: String,
count: Number
isDelete: Boolean,
locked: Boolean,
record : [
text: String,
isDelete: Boolean,
checked: Boolean
}
`複製代碼
api: /todo/editTodo (post)
/** * 雖然這裏有 修改,刪除,鎖定三個操做,可是他都是修改單條數據,全部*咱們能夠合併在一個接口 */
params: {
id: String,
titie: String,
isDelete: Boolean,
locked: Boolean
}
data : {}複製代碼
api: /todo/addRecord (post)
params: {}
data : {}複製代碼
api: /todo/editRecord (post)
/** * 雖然這裏有 修改,刪除,完成三個操做,可是他都是修改單條數據 * 全部咱們能夠合併在一個接口 */
params: {
text: String,
isDelete: Boolean,
checked: Boolean
}
data : {}複製代碼
什麼是組件?等等系列問題我就不在這裏講了,能夠看 《什麼是組件化開發?》
vue的組件通常分爲以下4種:
<router-view>
,<transition>
,做爲一種擴展、抽象機制存在。知道了這4種組件,那麼咱們結合上面的原型設計圖,改怎麼劃分呢?獲得下面幾點:
最終咱們獲得:
app.vue // 最外層根組件 接入型
layouts.vue // 佈局組件 接入型 接入其餘組件
todos.vue // 左側列表 交互型組件
lists.vue // 右側內容 交互型組件
item.vue // 待辦單項組件 交互型組件複製代碼
好了,今天咱們項目分析,前期準備工做就到這裏,下一章開始就是代碼的實戰。