在對Angular的學(xué)習(xí)中,了解到AngularJS 的兩個主要缺點:
對于每一次界面時間,Ajax 或者 timeout,都會進行一個臟檢查,而每一次臟檢查又會在內(nèi)部循環(huán)檢查,當(dāng)界面綁定的model 很多,就會造成嚴(yán)重的性能問題 。
Angular 混亂的模塊,并不能起到命名空間的作用,因而在大項目中組織模塊又是一件頭疼的事。
但是 Angular 開發(fā)中小型的應(yīng)用是很棒的,也是將 MVC 引入到前端的開始。定一個目標(biāo),兩年時間理解 《Build Your Own AngularJS》。
Vue 拋棄了Angular 中臟檢查的方式,而使用 Javascript 中變量的setter 屬性來截獲數(shù)據(jù)變化,更加巧妙和機智。
在 MVVM 時代,瀏覽器自身屬性變得更加重要起來。getter 和 setter 曾被認(rèn)為是一個無太大用處的一個屬性。
為了較為深入的理解 Vue, 自己擼了一個簡易版 MVVM 。 先看效果吧 。
<input type="text" v-model="hello" value=""> <div id="template"> {{hello}} </div> <div class="template"> {{bind}} </div> <script src="app.js"></script>
var vue = new Vue({ ele: '#template', }); var vue1 = new Vue({ ele: '.template', data: { &n