序言
Vue.js是當下很火的一個JavaScript MVVM庫,它是以數據驅動和組件化的思想構建的。相比于Angular.js,Vue.js提供了更加簡潔、更易于理解的API,使得我們能夠快速地上手并使用Vue.js。
同時,Vue基于webpack來進行開發。
Vue API:http://cn.vuejs.org/v2/api/
解析MVVM模式
- MVVM模式(Model-View-ViewModel)
- 從View側看,ViewModel中的DOM Listeners工具會幫我們監測頁面上DOM元素的變化,如果有變化,則更改Model中的數據;
- 從Model側看,當我們更新Model中的數據時,Data Bindings工具會幫我們更新頁面中的DOM元素。
使用Vue的過程就是定義MVVM各個組成部分的過程的過程。
- 定義View
- 定義Model
- 創建一個Vue實例或"ViewModel",它用于連接View和Model
- 創建Vue實例時,需要傳入一個選項對象,選項對象可以包含數據、掛載元素、方法、模生命周期鉤子等等。
雙向綁定示例
MVVM模式本身是實現了雙向綁定的,在Vue.js中可以使用v-model指令在表單元素上創建雙向數據綁定。
<!--這是我們的View-->
<div id="app">
<p>{{ message }}</p>
<input type="text" v-model="message"/>
</div>
<!--將message綁定到文本框,當更改文本框的值時,<p>{{ message }}</p> 中的內容也會被更新。-->
開始實戰
為了達到快速的開發,我們可以使用Vue的各種模版,首先我們得先構建一下開發環境。
- 安裝node
- 安裝Vue官方命令行工具
Vue.js 提供一個官方命令行工具,可用于快速搭建大型單頁應用。該工具提供開箱即用的構建工具配置,帶來現代化的前端開發流程。
# 全局安裝 vue-cli
$ npm install --global vue-cli
# 創建一個基于 webpack 模板的新項目
$ vue init [webpack模版] [my-project項目名]
# 進入項目目錄
$ cd my-project
# 執行模塊的下載安裝,所需模塊的配置信息在 package.json 中
$ npm install
# 執行 dev 腳本(也在 package.json 中),即項目開發模式
$ npm run dev
# npm run build 執行 build 腳本,項目文件打包生成
ios 不要忘記給予權限哦!sudo npm install 即可
vue-cli會有幾種模版:
- webpack - A full-featured Webpack + vue-loader setup with hot reload, linting, testing & css extraction.(全功能的 Webpack + vue-loader 設置,包括熱加載,靜態檢測,測試,css 提取)
- webpack-simple - A simple Webpack + vue-loader setup for quick prototyping.(一個簡易的 Webpack + vue-loader 設置,以便于快速開始)
- browserify - A full-featured Browserify + vueify setup with hot-reload, linting & unit testing.(全功能的 Browserify + vueify 設置,包括熱加載,靜態檢測,單元測試)
- browserify-simple - A simple Browserify + vueify setup for quick prototyping.(一個簡易的 Browserify + vueify 設置,以便于快速開始)
- simple - The simplest possible Vue setup in a single HTML file
相關閱讀:Announcing vue-cli(譯)Vuejs 自己的構建工具 vue-cli
Vue初始化
命令行輸入:
npm run dev
這一行命令代表著它會去找到package.json的scripts對象,執行node bulid/dev-server.js。在這文件里,配置了Webpack,會讓它去編譯項目文件,并且運行服務器,我們在localhost:8080即可查看我們的應用。
效果如下: