<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • vue框架漸進性的理解和mvvm模式的理解

          2020-3-1    前端達人

          引言

          現在市場很多前端開發的招聘崗位都或多或少的要求你要掌握vue,可以說vue在國內是非常的火爆的,下面我給大家介紹一下vue框架吧!

          vue是漸進式框架


          201806191038393.png


          vue的核心是一個視圖模板引擎,但是這并不能說明vue不是一個框架,如上圖所示在聲明式渲染(視圖模板)基礎上,vue可以添加組件系統component,vue-router客戶端路由,vuex的狀態管理,vue-cli構建工具來構建一個完整的框架,更重要的是這些功能相互獨立,你可以任意選用你項目需要的部件,不一定非要全部整合在一起(就像是vuex它是一個很好的可以管理組件之間共享狀態的部件,但非必須在你的每一個項目中使用它,如果說你的項目相對簡單,組件之間的通信相對簡單你完全可以不使用它),可以看到漸進式,其實就是vue的使用方式,同時也能看到vue的設計理念
          vue是mvvm模式
          為什么說vue是mvvm模式呢?這個大家首先要知道mvvm是什么。mvvm是Model-View-ViewModel的簡寫,即模型視圖視圖模型。模型是指后端傳過來的數據,視圖是指我們看到的頁面,視圖模型是mvvm框架的核心,他是連接view和model的橋梁,它有兩個方向,第一將后端傳來的數據轉換成頁面可以看到的視圖,第二,將用戶在頁面上的交互轉化成為后端數據,我們稱之為雙向綁定。
          總結mvvm模式的視圖和模型是不能直接通信的,它們通過ViewModel來通信,ViewModel通常要實現一個observer觀察者,當數據發生變化,ViewModel能夠監聽到數據的這種變化,然后通知到對應的視圖做自動更新,而當用戶操作視圖,ViewModel也能監聽到視圖的變化,然后通知數據做改動,這實際上就實現了數據的雙向綁定。并且MVVM中的View 和 ViewModel可以互相通信
          vue框架可以理解為是ViewModel,它可以實現dom監聽和數據綁定
          vue的數據綁定原理

          20200229115524399.png

          當你把JavaScript對象傳入vue實例作為data選項,vue會遍歷此對象的所以屬性,并使用Object.defineProperty把這些屬性轉換為getter和setter,每一個組件都有一個watcher實例,它會在組件渲染過程中,把接觸過的數據記錄為依賴,當依賴的setter被觸發是,他會通知watcher,重而使關聯的數據重新渲染,以下是代碼展示。

          <div id = "box"></div>
          var obox = document.getElementById('box')
          var obj = {}
          object.defineProperty(obj,'myname',{
              get () {
                  // obj設置了一個myname屬性,當訪問obj.myname屬性會執行get方法
              },
              set (data) {
                  // 當修改myname屬性會執行set方法
                  // data會得到你修改的值
                  obox.innerHTML = data
              }
          })
          
          object.definePeoperty有一下缺點: {
          1:無法監聽es6的set,map變化
          2:無法監聽class類型的數據
          3:屬性的新增和刪除也無法監聽
          4:數組元素的新整和刪除也無法監聽
          }



          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://m.sdgs6788.com

          存檔

          中文国产成人精品久久亚洲精品AⅤ无码精品 | 国产69精品久久久久APP下载| 久久久久久青草大香综合精品| 久久露脸国产精品| 亚洲色欲久久久综合网东京热| 国产精品久久国产精品99盘| 精品999久久久久久中文字幕| 麻豆精品久久久一区二区| 日本精品久久久久影院日本 | 婷婷综合久久中文字幕蜜桃三电影| 婷婷久久久亚洲欧洲日产国码AV | 久久这里有精品视频| 亚洲中文字幕无码久久综合网| 国产精品一区二区久久精品无码 | 亚洲中文字幕伊人久久无码 | 精品乱码久久久久久夜夜嗨| 久久人人爽人人爽人人片AV高清| 国产精品久久久久久一区二区三区| 久久99精品久久久久久9蜜桃| 久久久久亚洲AV片无码下载蜜桃| 久久久精品视频免费观看 | 久久久久这里只有精品| 久久99国产精品尤物| 亚洲va久久久噜噜噜久久男同| yellow中文字幕久久网| 69久久精品无码一区二区| 人妻无码精品久久亚瑟影视 | av色综合久久天堂av色综合在| 欧美日韩中文字幕久久久不卡| 91精品国产91久久久久福利| 亚洲国产精品久久久天堂| 偷偷做久久久久网站| 伊人久久大香线蕉精品不卡 | 久久天堂电影网| 婷婷综合久久中文字幕| 日韩一区二区久久久久久| 久久精品国产99国产电影网 | 2020久久精品亚洲热综合一本| 久久精品国产72国产精福利| 色综合久久88色综合天天 | 天天影视色香欲综合久久|