九九色综合_性69交片免费看_亚洲一区二区三区久久精品_精品一久久_欧美一级黄视频_污免费网站

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

2020-2-25    seo達人

引言

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

vue是漸進式框架



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的數據綁定原理



當你把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.gyxygd.cn

存檔

主站蜘蛛池模板: 欧美性视频一区二区三区 | 91精品综合久久久久久五月天 | 精品日韩一区二区三区av动图 | 亚洲高清免费 | 午夜日韩 | 国产在线a | 国产美女在线精品免费观看 | 精品卡一卡2卡3卡4卡在线 | 男女无遮挡一进一出全程视频 | 国产日韩在线观看视频 | 国产精品日韩一区 | 久久亚洲欧美日韩精品专区 | 九九精品在线观看视频 | 加勒比一本一道在线 | 国产成人免费福利网站 | 日韩视频福利 | 精品欧美一区二区精品久久 | av最新在线观看 | 无码A片激情做爰视频在线观看 | 国产成人精品第一区二区 | 国产精品自产拍在线观看 | 日韩av在线免费电影 | 微拍秒拍99福利精品小视频 | 国产精品一区二区三区四区 | 亚洲精品制服丝袜二区 | 国产婷婷精品AV在线 | 亚洲精品第一 | 免费看a | 天天躁狠狠躁夜夜躁2021 | 欧美成人高清视频 | 精品特级一级毛片免费观看 | 天天色爱 | 999色综合 | 影音先锋久久 | 人人澡 人人澡碰人人看软件 | 五月婷婷开心中文字幕 | 精品久久精品久久 | 久草在线视频在线观看 | 久久麻豆亚洲精品 | 免费看成人啪啪 | 亚洲免费二区 |