官網
Vue.js(讀音 /vju/,類似于 view) 是一套建構使用者界面的漸進式架構。與其他重量級架構不同的是,Vue 采用自底向上增量開發的設計。Vue 的核心庫隻關注視圖層,它不僅易于上手,還便于與第三方庫或既有項目整合。另一方面,當與單檔案元件和 Vue 生态系統支援的庫結合使用時,Vue 也完全能夠為複雜的單頁應用程式提供驅動。
vue中兩個核心點:
響應的資料綁定:
當資料發生改變->自動更新界面
利用Object.definedProperty中的setter/getter代理資料,監控資料的操作
組合的視圖元件:
ui頁面映射為元件樹
劃分元件可維護,可重用,可測試
虛拟DOM:
1.運作js的速度是很快的,但大量的操作DOM就會很慢。市場在更新資料後重新渲染頁面,這樣照成在沒有改變資料的地方也重新渲染DOM節點,造成很大程度上的資源浪費。
2.利用在記憶體中生成與真實DOM與之對應的資料結構,這個在記憶體中生成的結構均稱之為虛拟DOM。
3.當資料發生改變是,能夠智能計算出重新渲染元件的最小代價并應用到DOM操作上。
MVVM模式:
M:Model資料結構
V:View視圖模闆
vm:view-Model視圖模型
1)安裝
直接安裝vue,從官方下載下傳vue.js。開發使用開發版本,項目上線切換生成版本
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL2AzNzhHcPFDeR1kQBFUNJBDR3ZnUwN0axw0bpt0dvwVRC9CXykzLcBDMN9CXyAzcml3dvwVbvNmLvR3YxUjL0M3Lc9CX6MHc0RHaiojIsJye.png)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="js/vue.js"></script>
</head>
<!-- 模闆 -->
<div id="demo">
{{ message }}
</div>
<script>
// 資料
let data = {
message:"Hellow,Vue!"
}
// Vm執行個體
var vm = new Vue({
el:"#demo", // 挂載元素:html的挂載點
data:data
});
</script>
<body>
</body>
</html>
本地測試:
nmp方式安裝vue:
全局安裝 vue-cli:
# npm install --global vue-cli
安裝好以後進入nodejs的子產品目錄下把vue全名添加到全局:
找到vue執行檔案所在位置:
添加全局(路徑根據實際情況):
建立一個基于 webpack 模闆的新項目:
# vue init webpack my-project
安裝依賴,走你(安裝速度相當慢,可以嘗試換成阿裡的cnpm提速):
# cd my-project
# npm install
# npm run dev
vue響應式資料綁定,資料發生改變,界面發生改變:
類似響應式布局,浏覽器尺寸大小發生改變,界面發生改變。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<script src="js/vue.js"></script>
</head>
<!-- 模闆 -->
<div id="demo">
<input type="text" v-model="message" />
<p>`message`</p>
</div>
<script>
// 資料
let data = {
message:"Hellow,Vue!"
}
// Vm執行個體
var vm = new Vue({
el:"#demo", // 挂載元素:html的挂載點
data:data
});
</script>
<body>
</body>
</html>