Vue.js 一個核心思想是數據驅動。所謂數據驅動,是指視圖是由數據驅動生成的,我們對視圖的修改,不會直接操作 DOM,而是通過修改數據。它相比我們傳統的前端開發,如使用 jQuery 等前端庫直接修改 DOM,大大簡化了代碼量。特別是當交互復雜的時候,只關心數據的修改會讓代碼的邏輯變的非常清晰,因為 DOM 變成了數據的映射,我們所有的邏輯都是對數據的修改,而不用碰觸 DOM,這樣的代碼非常利于維護。
在 Vue.js 中我們可以采用簡潔的模板語法來聲明式的將數據渲染為 DOM:
<div id="app">{{ message }}
</div>
var app = new Vue({el: '#app',data: {message: 'Hello Vue!'}
})
最終它會在頁面上渲染出 Hello Vue。接下來,我們會從源碼角度來分析 Vue 是如何實現的,分析過程會以主線代碼為主,重要的分支邏輯會放在之后單獨分析。數據驅動還有一部分是數據更新驅動視圖變化,這一塊內容我們也會在之后的章節分析,這一章我們的目標是弄清楚模板和數據如何渲染成最終的 DOM。