在對(duì)Angular的學(xué)習(xí)中,了解到AngularJS 的兩個(gè)主要缺點(diǎn):

  • 對(duì)于每一次界面時(shí)間,Ajax 或者 timeout,都會(huì)進(jìn)行一個(gè)臟檢查,而每一次臟檢查又會(huì)在內(nèi)部循環(huán)檢查,當(dāng)界面綁定的model 很多,就會(huì)造成嚴(yán)重的性能問題 。

  • Angular 混亂的模塊,并不能起到命名空間的作用,因而在大項(xiàng)目中組織模塊又是一件頭疼的事。

但是 Angular 開發(fā)中小型的應(yīng)用是很棒的,也是將 MVC 引入到前端的開始。定一個(gè)目標(biāo),兩年時(shí)間理解 《Build Your Own AngularJS》。

Vue 拋棄了Angular 中臟檢查的方式,而使用 Javascript 中變量的setter 屬性來截獲數(shù)據(jù)變化,更加巧妙和機(jī)智。
在 MVVM 時(shí)代,瀏覽器自身屬性變得更加重要起來。getter 和 setter 曾被認(rèn)為是一個(gè)無太大用處的一個(gè)屬性。

為了較為深入的理解 Vue, 自己擼了一個(gè)簡(jiǎn)易版 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