1. 程式人生 > >vue外賣軟體開發學習

vue外賣軟體開發學習

學習內容:

vue.js框架介紹(核心:資料驅動、元件化)
vue-cli 腳手架 搭建基本程式碼框架
Vue-router   官方外掛、管理路由
vue-resource 與後端進行Ajax通訊
Webpack 構建工具 (編譯原碼,生成遊覽器可以識別和執行的程式碼)
es6+eslint      eslint:es6程式碼風格檢查工具

工程化、元件化、模組化

移動端常用開發技巧
flex彈性佈局
css stickyfooter佈局
酷炫的互動設計
元件的設計與開發

 

學習目標:

掌握vue.js在實戰中的應用,

學會使用vuejs完整的開發移動端app

學會元件化,模組化的開發方式

 

功能技術分析:

vue.resource  與後端進行資料互動

vue.router  與前端路由 實現單一應用

第三方js庫 better-scroll 實現列表滾動

最大程度元件化

收藏商家:h5的localstorage介面存在遊覽器端

圖示字型的使用

移動端1畫素邊框

css  sticky  footer佈局

flex彈性佈局

 

VueJs介紹:

國內大佬:尤雨溪 2014開源

輕量級MVVM框架
資料驅動+元件化前端開發
Github超過25K star數,社群完善

 

近年來前端發展趨勢:

舊瀏覽器逐漸被淘汰,異動單需求增加
前端互動越來越多,功能越來越複雜
架構從傳統的後臺MVC向REST API+前端MV*遷移
傳統MVC:前後端互動時,重新整理整個頁面(使用者體驗差)
rest api與ajax區域性通訊非同步重新整理頁面某個區塊來優化和提升體驗同時,把mv*拿到前端來做

MV*{
MVC
MVP
MVVM <---- vue.js
}

 

MVVP框架:

三部分:

View      ViewModal       Modal
  |                |            |
  |       |              |
 V           V            V
檢視       通訊        資料

DOM     觀察者     javascript物件

 

針對具有複雜互動邏輯的前端應用
提供了一些基礎的架構抽象
通過Ajax做資料持久化,保證前端使用者體驗(區域性重新整理)

MVVM{
Angular.js
react.js
Vue.js
}

 

VueJs核心思想:

資料驅動:
  DOM是資料的一種自然對映:
    改變資料通過Directive指令對DOM進行一層封裝,當資料發生變化,會通知指令去修改對應的
    DOM,資料驅動DOM變化,DOM是資料的一種自然對映。
  VUe.js對操作進行監聽:
    當改變檢視的時候VUE.js監聽到這些變化從而改變資料。
    從而實現資料的雙向繫結。

  資料響應原理:
    資料(modal)改變驅動檢視(view)自動更新(ES5的object.defineproject屬性新增getter和setter同時vue.js對末班進行編譯解析生成一個指令物件,每個指令物件關聯一  個watcher,當我們對指令進行求值時會觸發到其getter同時把依賴收集到watcher中,當改變資料時,會觸發setter會通知到對應關聯的watcher然後watcher會再次對資料求值          計算並及進行對比,當發現改變時,watcher會通知到指令,呼叫其update方法由於指令是對DOM的封裝,所以,其會呼叫原生DOM的方法去更新檢視,這樣就完成了從資料            改變導資料更新的一個自動過程。

元件化:
  擴充套件HTML元素,封裝可重用的程式碼。
    一個頁面被拆分成多個區塊,每個區塊對應一個元件,元件可以巢狀最後組合形成一個完整的頁面,在Vue.js中,每個元件都對應一個Vuemodal,最終生成一個vuemodal  樹,其和DOM形成了一一對應的關係。
  元件設計原則:
    頁面上每個獨立的可視、可互動區域都可以視為一個元件,比如頁面的頭部、尾部還有一些可複用的區塊都可以抽象成元件。
    每個元件對應一個工程目錄,元件所需要的各種資源在這個目錄下就近維護。
      就近維護就體現了前端工程化思想,為前端開發提供了很好的分制策略,每個開發者都能清楚地知道自己所開發維護的功能單元,其程式碼必然存在與對應的元件目錄    中,在其中可以找到,對應功能單元的所有內部邏輯,樣式、js、頁面結構都在其中。

      vue.js中可以通過.Vue檔案把元件所依賴的 模組、js和樣式都寫在一個檔案中,把元件化的就近維護思想發揮到極致

    頁面不過是元件的容器,元件可以巢狀自由組合形成完整的頁面