千鋒長沙前端培訓:Vue相關面試題
如果你想問前端最值得學習的框架是什么,我一定會毫不猶豫地告訴你是Vue。無論你是技術小白還是前端工程師,Vue的重要性自不必多說。下面千鋒長沙前端培訓給大家分享下Vue相關面試題:
1、什么是 mvvm?
MVVM 是 Model-View-ViewModel 的縮寫。mvvm 是一種設計思想。Model 層代表數據模型,也可以在 Model 中定義數據修改和操作的業務邏輯;View 代表 UI 組件,它負責將數據模型轉化成 UI 展現出來,ViewModel 是一個同步 View 和 Model 的對象。在 MVVM 架構下,View 和 Model 之間并沒有直接的聯系,而是通過 ViewModel 進行交互,Model 和 ViewModel 之間的交互是雙向的, 因此 View 數據的變化會同步到 Model 中,而 Model 數據的變化也會立即反應到 View 上。ViewModel 通過雙向數據綁定把 View 層和 Model 層連接了起來,而 View 和 Model 之間的同步工作完全是自動的,無需人為干涉,因此開發者只需關注業務邏輯,不需要手動操作 DOM, 不需要關注數據狀態的同步問題,復雜的數據狀態維護完全由 MVVM 來統一管理。
2、mvvm 和 mvc 區別?
mvc 和 mvvm 其實區別并不大。都是一種設計思想。主要就是 mvc 中 Controller 演變成 mvvm 中的 viewModel。mvvm 主要解決了 mvc 中大量的 DOM 操作使頁面渲染性能降低,加載速度變慢,影響用戶體驗。和當 Model 頻繁發生變化,開發者需要主動更新到 View 。
3、vue 的優點是什么?
低耦合。視圖(View)可以獨立于 Model 變化和修改,一個 ViewModel 可以綁定到不同的"View"上,當 View 變化的時候 Model 可以不變,當 Model 變化的時候 View 也可以不變。可重用性。你可以把一些視圖邏輯放在一個 ViewModel 里面,讓很多 view 重用這段視圖邏輯。獨立開發。開發人員可以專注于業務邏輯和數據的開發(ViewModel),設計人員可以專注于頁面設計,使用 Expression Blend 可以很容易設計界面并生成 xml 代碼。可測試。界面素來是比較難于測試的,而現在測試可以針對 ViewModel 來寫。
4、vue生命周期的理解?
答:總共分為 8 個階段創建前/后,載入前/后,更新前/后,銷毀前/后。創建前/后: 在 beforeCreate 階段,vue 實例的掛載元素 el 還沒有。載入前/后:在 beforeMount 階段,vue 實例的$el 和 data 都初始化了,但還是掛載之前為虛擬的 dom 節點,data.message 還未替換。在 mounted 階段,vue 實例掛載完成,data.message 成功渲染。更新前/后:當 data 變化時,會觸發 beforeUpdate 和 updated 方法。銷毀前/后:在執行 destroy 方法后,對 data 的改變不會再觸發周期函數,說明此時 vue 實例已經解除了事件監聽以及和 dom 的綁定,但是 dom 結構依然存在
5、vuex 是什么?怎么使用?哪種功能場景使用它?
vue 框架中狀態管理。在 main.js 引入 store,注入。新建了一個目錄 store,….. export 。場景有:單頁應用中,組件之間的狀態。音樂播放、登錄狀態、加入購物車
6、說出至少 4 種 vue 當中的指令和它的用法
v-if(判斷是否隱藏)、v-for(把數據遍歷出來)、v-bind(綁定屬性)、v-model(實現雙向綁定)
7、vue 的雙向綁定的原理是什么?
vue.js 是采用數據劫持結合發布者-訂閱者模式的方式,通過 Object.defineProperty()來劫持各個屬性的 setter,getter,在數據變動時發布消息給訂閱者,觸發相應的監聽回調。
8、vuex 有哪幾種屬性
有 5 種,分別是 state、getter、mutation、action、module。
9、vuex 的 store 特性是什么
vuex 就是一個倉庫,倉庫里放了很多對象。其中 state 就是數據源存放地,對應于一般 vue 對象里面的 data。state 里面存放的數據是響應式的,vue 組件從 store 讀取數據,若是 store 中的數據發生改變,依賴這相數據的組件也會發生更新,它通過 mapState 把全局的 state 和 getters 映射到當前組件的 computed 計算屬性。
10、vuex 的 getter 特性是什么
getter 可以對 state 進行計算操作,它就是 store 的計算屬性。雖然在組件內也可以做計算屬性,但是 getters 可以在多給件之間復用,如果一個狀態只在一個組件內使用,是可以不用 getters。
11、vuex 的 mutation 特性是什么
action 類似于 muation, 不同在于:action 提交的是 mutation,而不是直接變更狀態。

猜你喜歡LIKE
最新文章NEW
相關推薦HOT
更多>>熱門推薦
參加完長沙Java培訓班之后怎么面試找工作?
沸參加長沙IT培訓好找工作嗎?這些環節能刷掉70%大學生
熱參加長沙Java培訓跳槽去大廠,都有哪些面試要求?
熱千鋒長沙前端培訓分享之高級前端面試題整理
新千鋒長沙前端培訓分享之中級前端面試題整理
千鋒長沙前端培訓分享之初級前端面試題整理
千鋒長沙前端培訓:Vue相關面試題
長沙Java培訓:高并發編程JUC包面試題及答案
長沙Java培訓:Java開發實用的面試題及答案
長沙Java培訓:2021年Java面試題分享
長沙Java培訓:2021Java面試題分享
長沙千鋒整理:軟件測試中頻率最高的網絡協議面試題,收好了!
長沙IT培訓學員整理:程序員面試10條潛規則
自學前端靠這份面試題和答案,也能拿高薪!