前端vue面試題(百度前端面試)

1. 談談你對MVVM開發模式的理解

MVVM分爲Model、View、ViewModel三者。
Model 代表數據模型,數據和業務邏輯都在Model層中定義;
View 代表UI視圖,負責數據的展示;
ViewModel 負責監聽 Model 中數據的改變並且控制視圖的更新,處理用戶交互操作;
ModelView 並無直接關聯,而是通過 ViewModel 來進行聯繫的,ModelViewModel 之間有着雙向數據綁定的聯繫。因此當 Model 中的數據改變時會觸發 View 層的刷新,View 中由於用戶交互操作而改變的數據也會在 Model 中同步。
這種模式實現了 ModelView 的數據自動同步,因此開發者只需要專注對數據的維護操作即可,而不需要自己操作 dom

2. Vue 有哪些指令?

v-html、v-show、v-if、v-for等等

3. v-if 和 v-show 有什麼區別?

v-show 僅僅控制元素的顯示方式,將 display 屬性在 block 和 none 來回切換;而v-if會控制這個 DOM 節點的存在與否。當我們需要經常切換某個元素的顯示/隱藏時,使用v-show會更加節省性能上的開銷;當只需要一次顯示或隱藏時,使用v-if更加合理。

4. 簡述Vue的響應式原理

當一個Vue實例創建時,vue會遍歷data選項的屬性,用 Object.defineProperty 將它們轉爲 getter/setter並且在內部追蹤相關依賴,在屬性被訪問和修改時通知變化。
每個組件實例都有相應的 watcher 程序實例,它會在組件渲染的過程中把屬性記錄爲依賴,之後當依賴項的 setter 被調用時,會通知 watcher 重新計算,從而致使它關聯的組件得以更新。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章