Reactivity Vue是一個用于構建交互式UI的JavaScript框架。它具有響應式數據綁定,使得Vue的數據模型非常簡單和優雅。當數據模型改變時,視圖自動更新,無需手動操作。這個特性極大地簡化了Vue開發的工作流程。
Vue的響應式系統核心是Vue實例的數據對象。當數據對象發生改變時,Vue會自動監聽它的更改并通知相關的視圖更新。這個機制是通過ES5 Object.defineProperty()方法實現的。這個方法會給對象的屬性添加一個 getter 和一個 setter。當某個屬性被修改時,它的 setter會被調用。
var data = { count: 0 } var vm = new Vue({ data: data }) console.log(vm.count) // 輸出 0 vm.count++ console.log(vm.count) // 輸出 1
在Vue中將computed定義為一個函數,它的返回值是一個計算結果。computed中的變量會被監視,只要變量有變化,就會重新計算。計算結果會被緩存,不必擔心每次調用computed都會重新計算。
var vm = new Vue({ data: { a: 1, b: 2 }, computed: { sum: function () { return this.a + this.b } } }) console.log(vm.sum) // 輸出 3 vm.a = 2 console.log(vm.sum) // 輸出 4
Vue還提供watch,它可以用來響應數據的變化,做一些副作用的操作,例如請求后端數據、觸發動畫等。
var vm = new Vue({ data: { a: 1, b: 2 }, watch: { a: function (newVal, oldVal) { console.log('a的值改變了') } } }) vm.a = 2 // 輸出 'a的值改變了'
總之,Vue的響應式數據綁定機制使得開發者可以更加專注于業務邏輯的編寫,無需關心UI的響應問題,把復雜的業務邏輯和UI隔離開來。
上一篇apicloud與vue
下一篇網頁制作和css美化代碼