前端面試題總結帶答案

Vue面試題

1.什麼是 vue 生命週期

 Vue 實例從創建到銷燬的過程,就是生命週期。
 也就是從開始創建、初始化數據、編譯模板、掛載Dom→渲染、更新→渲染、卸載等一系列過程,我們稱這是 Vue 的生命週期。
 它可以總共分爲8個階段:創建前/後, 載入前/後,更新前/後,銷燬前/銷燬後

2.vue生命週期的作用是什麼

它的生命週期中有多個事件鉤子,就是函數類似於Jquery的ready()方法,在生命週期變化的時候可以觸發這些方法加入業務邏輯。

3.第一次頁面加載會觸發哪幾個鉤子(函數)

beforeCreate,created,beforeMount,mounted 

4.簡述每個週期具體適合哪些場景

 beforecreate : 可以在這加個loading事件, 在加載實例時觸發  

created : 初始化完成時的事件寫在這裏,如在這結束loading事件,異步請求也適宜在這裏調用

mounted : 掛載元素, 獲取到DOM節點

updated : 如果對數據統一處理,在這裏寫上相應函數

beforeDestroy : 可以做一個確認停止事件的確認框 nextTick : 更新數據後立即操作dom

5.created和mounted的區別

created一般是在html渲染前的操作,此時el還是undefined,data已經存在。這裏不能對dom進行操作

mounted一般是在html渲染完成後的操作,此時el,data都已經加載完成,一般對dom的操作都寫在mounted中,例如獲取innerHTML,初始化echarts的時候。

6.vue獲取數據在哪個周期函數

created

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 來統一管理。

在VUE當中的對應關係:

2.vue-router 是什麼它有哪些組件

路由,其實就是指向的意思
路由中有三個基本的概念 route, routes, router。
    1, route,它是一條路由,由這個英文單詞也可以看出來,它是單數, Home按鈕  => home內容, 這是一條route,  about按鈕 => about 內容, 這是另一條路由。    
    2, routes 是一組路由,把上面的每一條路由組合起來,形成一個數組。[{home 按鈕 =>home內容 }, { about按鈕 => about 內容}]    
    3, router 是一個機制,相當於一個管理者,它來管理路由。因爲routes 只是定義了一組路由,它放在哪裏是靜止的,當真正來了請求,怎麼辦? 就是當用戶點擊home 按鈕的時候,怎麼辦?這時router 就起作用了,它到routes 中去查找,去找到對應的 home 內容,所以頁面中就顯示了 home 內容。
    4,客戶端中的路由,實際上就是dom 元素的顯示和隱藏。當頁面中顯示home 內容的時候,about 中的內容全部隱藏,反之也是一樣。客戶端路由有兩種實現方式:基於hash 和基於html5 history api.
 

啊啊

答案參考於以下資料:

書籍:vue.js實戰

MVVM模式在VUE當中的對應關係:https://www.jianshu.com/p/6c1c5c3c44d0

個人收集整理前端面試題(答案持續更新ing):https://www.jianshu.com/p/0b3cb88d2cea

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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