vue常見面試題

2021-09-24 21:31:11 字數 2175 閱讀 4631

1、什麼是mvc和mvvm

mvc分為三塊 :model view 和controller

mvvm分為三塊:model view 和view-model

在vue中怎麼實現資料的雙向繫結,使用watch觀察者模式監聽物件資料的改變觸發頁面渲染

object.defineprorotype()

什麼是物件導向:物件導向的三大基本特徵:封裝、繼承、多型

2、你用的的vue是哪乙個版本,他和其他版本的區別?

2.多版本的

加入了虛擬dom,還加入了一些新的語法

在js物件和真實dom樹之間存在的乙個虛擬物件,所有的dom樹節點都是根據這個虛擬dom實現生成的

在虛擬dom向真實的dom樹轉換之前會根據diff演算法動態的計算需要更改的標籤,進行替換操作

在生成的時候只需要修改render方法渲染出不同的節點標籤即可

瀏覽器生成dom樹的時候非常消耗資源,因此引入虛擬dom概念

通過一定的演算法優化之後能夠非常快捷的根據資料生成真實的html節點

現在vue和react都是使用的虛擬dom

虛擬dom就是通過乙個物件描述乙個html結構:

通過js 寫乙個迴圈吧節點生成在頁面上

需要修改某乙個節點的值 可以直接修改物件上的屬性

然後呼叫render方法重新渲染頁面

渲染的時候會對虛擬dom中的幾點作比對 只重新渲染

3、vue 的元件生命週期

那張圖

常用的生命週期:

created

moundted:是可以在這個鉤子函式中獲取當前元件的dom元素(this.$el)

4、vue元件傳值

父子元件

父傳子使用props

子傳父使用事件派發

非相關元件

事件匯流排,我們使用乙個空白的vue例項作為乙個橋梁,所有的事件派發和監聽都在此物件上進行vuex

5、vue-router 使用,路由守衛

什麼是巢狀路由?

路由守衛

beforeeach表示每乙個路由跳轉之前執行,我們可以通過它判斷使用者是否登入

路由元標籤 meta

路由傳參 query/params

動態路由

路由跳轉

6、vue專案的上線流程

1.使用腳手架搭建專案

2.寫靜態頁面

3.呼叫伺服器端介面版資料動態化

4.build上線 router-link、程式設計式跳轉

7、vuex

是乙個全域性狀態管理工具,把所有的state資料儲存在一棵單一的狀態樹上

使用mutations實現資料的改變

如果是非同步操作需要dispatch派發乙個action,然後在action中commit乙個mutation改變資料

8、什麼是單頁面應用程式?

spa 是只有乙個html頁面的專案,所有的跳轉和功能控制都在這乙個頁面中進行,單頁面應用程式最怕重新整理

多頁面應用程式,一般傳統方式開發的**都是有多個頁面組成的

9、常見的vue指令都有哪些?計算屬性是什麼?

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

計算屬性和method有什麼區別?

10、自己有沒有做過vue元件的封裝?需要注意一些什麼?

有,

需要注意什麼:

1.需要保證功能的單一性、不和其他元件產生過多的聯絡

2.通過props屬性實現引數的傳遞

3.通過事件派發向呼叫的元件傳遞資料

4.data必須是乙個function,其返回值為當前元件可用的資料

11、為什麼vue不能在ie8一下的瀏覽器執行?

11、less和sass以及post引數是或者webpack的配置

css預處理語言

postcss是乙個平台框架,通過js來處理css**。在vue腳手架生成的專案中已經包含了postcss的配置

最常見的乙個操作是把px轉為rem

webpack配置

enter

output

loaders:載入器

vue常見面試題

1 vue 雙向繫結原理?vue資料雙向繫結是通過資料 劫持結合發布者訂閱者模式的方式來來實現的。利用了objece.defineproperty 這個方法重新定義了物件獲取屬性值 get 和設定屬性值 set 2 說說vue react angularjs jquery的區別?jquery 與另外...

Vue常見面試題總結

1.vue優點?2.v show 和 v if指令的共同點和不同點?共同點 都能控制元素的顯示和隱藏 不同點 實現本質方法不同,總結 如果要頻繁切換某節點,使用 v show 切換開銷比較小,初始開銷較大 如果不需要頻繁切換某節點使用 v if 初始渲染開銷較小,切換開銷比較大 3.如何讓css只在...

常見面試題

1.get和post的區別 1 本質區別 get是向伺服器請求資料,post是向伺服器傳送資料。2 伺服器獲取值的方式 get方式提交的資料,伺服器端使用request.querystring獲取變數的值。post方式提交的資料,伺服器端使用request.form獲取資料。3 安全性 get安全效...