學習內容: vue.js框架介紹(核心:數據驅動、組件化)vue-cli 腳手架 搭建基本代碼框架Vue-router 官方插件、管理路由vue-resource 與後端進行Ajax通信Webpack 構建工具 (編譯原碼,生成游覽器可以識別和運行的代碼)es6+eslint eslint:es6代 ...
學習內容:
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和樣式都寫在一個文件中,把組件化的就近維護思想發揮到極致
頁面不過是組件的容器,組件可以嵌套自由組合形成完整的頁面