1、什么是Vue.js?
眾所周知,最近幾年前端發展非常的迅猛,除各種框架如:backbone、angular、reactjs外,還有模塊化開發思想的實現庫:sea.js 、require.js 、webpack以及前端上線部署集成工具如: grunt、gulp、fis等。
Vue.js與reactjs相似,是一個構建數據驅動的 web 界面的庫,一個注重ViewModel的典型的MVVM框架。Vue.js 的目標是通過盡可能簡單的 API 實現響應的數據綁定和組合的視圖組件。
Vue.js 自身不是一個全能框架——它只聚焦於視圖層。因此它非常容易學習,非常容易與其它庫或已有項目整合。另一方面,在與相關工具和支持庫一起使用時,Vue.js 也能完美地驅動復雜的單頁應用。
2、Vue.js的獨特之處
2.1 響應的數據綁定
Vue.js 的核心是一個響應的數據綁定系統,它讓數據與 DOM 保持同步非常簡單。在使用 jQuery 手工操作 DOM 時,我們的代碼常常是命令式的、重復的與易錯的。Vue.js 擁抱數據驅動的視圖概念。通俗地講,它意味着我們在普通 HTML 模板中使用特殊的語法將 DOM “綁定”到底層數據。一旦創建了綁定,DOM 將與數據保持同步。每當修改了數據,DOM 便相應地更新。這樣我們應用中的邏輯就幾乎都是直接修改數據了,不必與 DOM 更新攪在一起。這讓我們的代碼更容易撰寫、理解與維護。
(1)下載安裝vue.js
下載地址:開發版本或者生產版本(在開發時請用開發版本,遇到常見錯誤它會給出友好的警告。)
安裝
在html文本中引入vue.js
<script type="text/javascript" src="js/vue.js"></script>
注意:Vue.js 不支持 IE8 及其以下版本,因為 Vue.js 使用了 IE8 不能實現的 ECMAScript 5 特性。 Vue.js 支持所有兼容 ECMAScript 5 的瀏覽器。
(2)js常用框架對比
Jquery: jquery依然依靠豐富的dom操作去組合業務邏輯,當業務邏輯復雜的時候,每行代碼都會有不知所雲的感覺。因為:
第一:業務邏輯和UI更改該混在一起,
第二:UI里面還參雜這交互邏輯,讓本來混亂的邏輯更加混亂。
當然第二點從另一方面看也是優點,因為有的時候UI交互邏輯能夠更加靈活地嵌入到業務邏輯,這在其他MV*框架中都是比較難處理的。
Vue: vuejs非常精簡,代碼量非常少的實現了MVVM框架,在用 Vue.js 構建大型應用時推薦使用 NPM 安裝,NPM 能很好地和諸如 Webpack 或Browserify 的 CommonJS 模塊打包器配合使用。Vue.js 也提供配套工具來開發單文件組件。
reactjs: reactjs代碼量最多,因為它既要管理UI邏輯,又要操心dom的渲染。
extjs: extjs是唯一一個讓User和View解耦,通過事件回調去關聯起來。也可通過watch去實現雙向綁定。
angular: angular是一個豐富的javascript庫,也是MVVM模式。如果要用angular開發應用,那么從開始到結束,會接觸到angular的內部的不同組件,當然學習曲線也比較陡。
一個最簡單的例子
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script type="text/javascript" src="js/vue.js"></script> <title></title> </head> <body> <div id="app"> {{message}} </div> <script> var msgData = "Hello vue.js!"; var app = new Vue({ el: "#app", data: { "message": msgData } }); </script> </body> </html>
結果展示:
Hello vue.js!