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