政府網(wǎng)站建設(shè)情況調(diào)查表內(nèi)蒙古seo
1. 啥是響應式?
(1).所謂的數(shù)據(jù)響應式就是能夠使數(shù)據(jù)變化可以被檢測到并且對這種變化做出響應式的機制
2. 為什么vue需要響應式?
(1).MVVM框架中要解決的核心問題數(shù)據(jù)驅(qū)動視圖,數(shù)據(jù)的改變引起視圖的更新,那么要實現(xiàn)這一點那么就是需要對數(shù)據(jù)做響應式的處理,這樣才能實現(xiàn)數(shù)據(jù)改變立即做出更新處理。
3. 它能給我們帶來什么好處?
以Vue為例通過數(shù)據(jù)響應加上虛擬DOM和patch算法(將虛擬DOM轉(zhuǎn)化為DOM),開發(fā)人員只需要關(guān)心數(shù)據(jù),關(guān)心頁面。完全不需要去接觸繁瑣的DOM操作,從而大大提升開發(fā)效率
4.vue的響應式是怎么實現(xiàn)的?有哪些優(yōu)缺點?
Vue2中的是采用了Object.defineProperty()的方式定義數(shù)據(jù)攔截,當數(shù)據(jù)被訪問或者修改時,作出響應;但是如果是數(shù)組則通過覆蓋數(shù)組對象的原型的7個方法才能實現(xiàn)這個目的。雖然說Vue2實現(xiàn)了響應式的功能,但是在實際使用中也存在一些問題,比如初始化時的遞歸遍歷造成的性能損失,在或者有些場景需要使用$set和$delete這樣特殊api才能實現(xiàn)的;對于ES6的Map和Set這種數(shù)據(jù)結(jié)構(gòu)也不支持
5.vue3中的響應式的新變化?
為了解決Vue2中Object.defineProperty帶能的性能問題,已經(jīng)實現(xiàn)的復雜性問題,所以Vue3重新編寫了這一部分的實現(xiàn),利用的是Es6的新語法Proxy代理來實現(xiàn)的,在Vue3中就不在需要特殊api了,初始化的性能和內(nèi)存消耗也得到提升
6.vue3中ref和reactive的區(qū)別
(1).ref主要是針對基本類型的數(shù)據(jù):比如number、string,而reactive主要是針對對象和數(shù)組
(2).ref初始化的值在使用時需要.value去取值
(3).ref也可以定義對象或者數(shù)組,這是因為ref源碼底層會去判斷數(shù)據(jù)類型如果是對象或者數(shù)組等還是會去調(diào)reactive
以上就是我對Vue響應式的理解,如果文章由于我學識淺薄,導致您發(fā)現(xiàn)有嚴重謬誤的地方,請一定在評論中指出,我會在第一時間修正我的文章,以避免誤人子弟。