日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

三道题就能考察你对Vue掌握了多少!

發布時間:2023/12/1 综合教程 37 生活家
生活随笔 收集整理的這篇文章主要介紹了 三道题就能考察你对Vue掌握了多少! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2020年能過的只有下半年

因為…

疫情結束的時候已經是三月了

找到工作的時候已經是四月了

拿到工資的時候已經是五月了

什么鬼都還沒干,一年就已經去了一半

下面是今天的前端知識

1.談一下你對MVVM原理的理解?

傳統的MVC指的是用戶操作會請求服務端的路由,路由會調用對應的控制器來處理,控制器會操作數據庫獲取數據,將結果返回給前端,頁面再重新渲染,MVC是針對于整個架構來說,數據是單項的。

由于前端應用的復雜,對前端又進行了細分抽離了MVVM。

MVVM:傳統的前端會將數據手動的渲染到頁面上,MVVM模式不再需要用戶手動的操作DOM元素,將數據綁定到ViewModel層上,會自動將數據渲染到頁面中,視圖變化也會通知ViewModel更新數據。ViewModel 就是MVVM模式中的橋梁,這是一個雙向綁定的過程,比如v-model就實現了雙向綁定。

2.請說一下響應式數據的原理?

核心點就是?Object.definePeoperty?實現的,但是答到這些是遠遠不夠的,太簡單了,可以談談Vue初始化的過程,默認Vue在初始化數據的時候,會給data中定義的屬性使用?Object.definePeoperty?重新定義所有屬性,當頁面取到對應屬性時,會添加一些自己的邏輯,那就是進行依賴收集(收集當前組件中watcher),如果屬性發生變化會通知相關的依賴進行更新操作。

Vue在取值的過程中把渲染的過程保存起來了,當值重新更改的時候,重新觸發之前的渲染過程,頁面就更新過來了。

在源碼中初始化的時候會調用?initData?方法,拿到用戶的數據,對用戶的數據進行觀測,new Observer?創建一個觀測類,觀測我們的數據,如果我們的數據是對象的話,會調用?this.walk(value)?內部會把我們的數據進行遍歷,使用defineReactive?方法通過?Object.definePeoperty?定義。

3.Vue中是如何檢測數組變化?

使用函數劫持的方式重寫了數組的方法,Vue將data中的數組進行了原型鏈重寫,指向自己定義的數組原型方法,這樣當調用數組API時,可以通知依賴更新,如果數字中包含引用類型,會對數組中的引用類型在進行監控,比如數組中如果有對象,對象是通過之前的?Object.definePeoperty?重新定義。

了解更多原理可以參考之前寫的一篇文章:分分鐘寫出Vue原理

總結

以上是生活随笔為你收集整理的三道题就能考察你对Vue掌握了多少!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。