成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

前端三大框架對比(二)——數(shù)據(jù)更新

sixgo / 2162人閱讀

摘要:最先說的原因是因?yàn)樗c其他兩個(gè)框架不同,用的是臟檢查機(jī)制實(shí)現(xiàn)雙向數(shù)據(jù)綁定在中有一個(gè)負(fù)責(zé)監(jiān)聽需要視圖變化的事件觸發(fā)每一個(gè)組件都都它自己的檢測器,用于負(fù)責(zé)檢查其自身模板上綁定的變量。

Angular 最先說Angular的原因是因?yàn)樗c其他兩個(gè)框架不同,用的是臟檢查機(jī)制(Dirty Checking)實(shí)現(xiàn)雙向數(shù)據(jù)綁定

在Angular中有一個(gè)Zone.js負(fù)責(zé)監(jiān)聽需要視圖變化的事件觸發(fā)

每一個(gè)組件都都它自己的檢測器(detector),用于負(fù)責(zé)檢查其自身模板上綁定的變量。

將舊值跟新值進(jìn)行比較,不相等就說明檢測到變化,更新對應(yīng)視圖

Vue & React 都是采用虛擬DOM來實(shí)現(xiàn)視圖更新 虛擬DOM

vue和react的虛擬DOM的Diff算法大致相同:

tree diff 只對同一層級節(jié)點(diǎn)比較

component diff 比較組件類型

element diff 同一層級子節(jié)點(diǎn)通過id區(qū)分

基于以上這三個(gè)約束,使得虛擬DOM的Diff算法的復(fù)雜度從O(n^3)降到了O(n)。

Vue

Vue會(huì)遍歷data對象的所有屬性,并使用Object.defineProperty把這些屬性全部轉(zhuǎn)為getter/setter

每個(gè)組件實(shí)例都有相應(yīng)的 watcher 實(shí)例對象,它會(huì)在組件渲染的過程中把屬性記錄為依賴

當(dāng)依賴項(xiàng)的setter被調(diào)用時(shí),會(huì)通知watcher重新計(jì)算,從而致使它關(guān)聯(lián)的組件得以更新

React

當(dāng)使用setState/forceUpdate,會(huì)調(diào)用render方法更新視圖

父組件更新視圖時(shí),會(huì)re-render子組件,所以看起來改變子組件的props也會(huì)更新視圖

更多文章 yjy5264.github.io

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/96259.html

相關(guān)文章

  • 珠峰前端架構(gòu)師培養(yǎng)計(jì)劃

    摘要:公司的招聘要求都提到了至少熟悉其中一種前端框架,有前端工程化與模塊化開發(fā)實(shí)踐經(jīng)驗(yàn)相關(guān)字眼。我們主要從端公眾號移動(dòng)端小程序三大平臺(tái)進(jìn)行前端的技術(shù)選型,并來說說選其技術(shù)的幾大優(yōu)勢。技術(shù)的優(yōu)勢互聯(lián)網(wǎng)前端大潮后,前端出現(xiàn)了大框架,分別是與。 1、技術(shù)選型的背景前端技術(shù)發(fā)展日新月異,互聯(lián)網(wǎng)上出現(xiàn)的新型框架也比較多,如何讓新招聘的人員...

    ccj659 評論0 收藏0
  • 前端三大框架對比

    摘要:與相同點(diǎn)使用,有較高的運(yùn)行速度提供組件化功能可使用與進(jìn)行狀態(tài)管理,響應(yīng)式依賴追蹤子組件重復(fù)渲染問題需要手動(dòng)優(yōu)化可以使用進(jìn)行狀態(tài)管理,函數(shù)式不可變模式化,時(shí)間旅行可使用,完全的能力更繁榮的社區(qū)生態(tài)可使用,但推薦使用模版語言而不是學(xué)習(xí)曲線平緩特 React與Vue 相同點(diǎn) 使用 Virtual DOM,有較高的運(yùn)行速度 提供組件化功能 可使用mobx與vuex進(jìn)行狀態(tài)管理,響應(yīng)式、依賴追...

    jubincn 評論0 收藏0
  • 2019年前端趨勢分析

    摘要:據(jù)狀態(tài)調(diào)查顯示,只有的前端開發(fā)人員使用過,但是有驚人的的開發(fā)人員已經(jīng)聽說過它并希望使用它。事實(shí)上,在調(diào)查中,的評分高于本身,為,而最受喜愛的語言為。在年,的下載數(shù)量大幅增長,而保持不變。 2018年TypeScript 全面開花,GraphQL 蠢蠢欲動(dòng),WebAssembly 更是打開了瀏覽器上多語言的大門。所有這一切跟現(xiàn)在的前端有哪些關(guān)系呢?下面小編來分享一下 1.三大框架標(biāo)準(zhǔn)化 ...

    Anonymous1 評論0 收藏0
  • 2019年前端趨勢分析

    摘要:據(jù)狀態(tài)調(diào)查顯示,只有的前端開發(fā)人員使用過,但是有驚人的的開發(fā)人員已經(jīng)聽說過它并希望使用它。事實(shí)上,在調(diào)查中,的評分高于本身,為,而最受喜愛的語言為。在年,的下載數(shù)量大幅增長,而保持不變。 2018年TypeScript 全面開花,GraphQL 蠢蠢欲動(dòng),WebAssembly 更是打開了瀏覽器上多語言的大門。所有這一切跟現(xiàn)在的前端有哪些關(guān)系呢?下面小編來分享一下 1.三大框架標(biāo)準(zhǔn)化 ...

    elarity 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<