1. 程式人生 > >談談對vue的理解

談談對vue的理解

一、 MVVM是什麼?

MVVM是Model-View-ViewModel的簡寫, 一種新型架構框架。

View一般就是我們平常說的HTML文字的Js模板,裡面可以嵌入一些js模板的程式碼;
ViewModule層裡面就是我們對於這個檢視區域的一切js可視業務邏輯,舉個例子,比如圖片走馬燈特效,比如表單按鈕點選提交,這些自定義事件的註冊和處理邏輯都寫在ViewModule裡面;Model就是對於純資料的處理,比如增刪改查,與後臺CGI做互動;

MVVM是將“資料模型資料雙向繫結”的思想作為核心,因此在View和Model之間沒有聯絡,通過ViewModel進行互動,而且Model和ViewModel之間的互動是雙向的,因此檢視的資料的變化會同時修改資料來源,而資料來源資料的變化也會立即反應到View上。
這裡寫圖片描述


特點:
1. View的變化會自動更新到viewModel;
2. viewModel的變化也會自動同步到view上顯示;
3.這種同步是因為viewModel中的屬性實現了observer(觀察者);
4.當屬性變更都能觸發對應的操作;

二、 Vue.js是什麼?

Vue.js不是一個框架——它只聚焦檢視層,是一個構建資料驅動的web介面的庫。
特性:
1. 輕量
體積小,不依賴其他基礎庫;
2. 資料繫結
3. 指令
類似AngularJS 可以用一些內建的簡單指令(v-*),也可以自定義指令,通過對應表示式的值的變化就可以修改對應的Dom;
4. 外掛化
Vue的核心不包含Router,Ajax表單驗證,但可方便地載入對應的外掛。

三、 如何使用Vue.js

使用npm安裝,具體構建方法已總結文件——《vue開發環境搭建》,請參閱。

四、 主要技術與版本

執行環境
ie9+,及主流瀏覽器
主要技術與版本
• nodejs ^8.0.0
• vue-cli ^2.8.0
這是官方首推的腳手架,可以搭建,vue-loader,webpack,browserify,熱部署,單元測試,e2e測試,等一系列功能;
• vue ^2.3
更關注檢視層面;開發人員不用花很多的時間在dom元素操作上;
• vue-router ^2.0.1
處理專案路由,router實現部分做的比較好,實際開發中我們更多的只需要關注配置就好了;
• vuex ^2.0.0
是一個專為 Vue.js 應用程式開發的狀態管理模式。它採用集中式儲存管理應用的所有元件的狀態,並以相應的規則保證狀態以一種可預測的方式發生變化。
• webpack ^2.1.0
Webpack 是一個前端資源載入/打包工具。它將根據模組的依賴關係進行靜態分析,然後將這些模組按照指定的規則生成對應的靜態資源。webpack主要處理的緯度是js檔案,而對比之下grunt和gulp處理的是使用者任務。Webpack我們主要用於專案的開發,以及釋出,是編譯vue必不可少的工具,另外,webpack的熱部署也是js開發中的神器,能夠大大提高我們質量和效率。
• babel-core ^6.0.0
是一個廣泛使用的轉碼器,可以將ES6程式碼轉為ES5程式碼,從而在現有環境執行, 你可以現在就用 ES6 編寫程式,而不用擔心現有環境是否支援
• less ^2.7.2
• element-ui ^1.3.7
• axios ^0.16
是一個基於 promise 的 HTTP 庫,可以用在瀏覽器和 node.js 中。
• vue-i18n ^7.0.5
用於多語言開發,算是資料比較全的一個元件(但沒有中文文獻)

主要編輯器
vscod