千鋒教育web前端高頻面試題視頻教程,kerwin大話前端面試秘籍(附答案)

p14
1、怎么定義過濾器?過濾器有什么用?
首先,在vue3中已經(jīng)將過濾器廢棄掉了,只有在vue2中才能使用過濾器。
通過filter來定義過濾器,過濾器的主體分為一個普通的函數(shù),來對數(shù)據(jù)進(jìn)行處理,可以傳遞參數(shù)。所謂的過濾器就是將數(shù)據(jù)進(jìn)行二次處理,得到我們想要的結(jié)果數(shù)據(jù)。
2、什么是單頁面應(yīng)用?單頁面應(yīng)用的優(yōu)缺點?
單頁面應(yīng)用就是只有一個頁面,當(dāng)頁面切換時切換的只是頁面內(nèi)的其中一塊內(nèi)容。
優(yōu)點:
2.1、當(dāng)頁面改變時不需要重新加載新的頁面。
2.2、頁面切換之間沒有白屏現(xiàn)象,也不會出現(xiàn)閃爍現(xiàn)象。
2.3、頁面應(yīng)用相對服務(wù)器壓力較小。
2.4、前后端分離,可以讓后端的一套代碼可以在多端使用。
缺點:
首次加載需要的時間比較長。(解決方案:代碼分割,路由懶加載等)
不利于搜索引擎的抓取
3、Vue-router使用params與query傳參有什么區(qū)別?
query: name 和 path 都能用。用 path 的時候,提供的 path 值必須是相對于根路徑的相對路徑,而不是相對于父路由的相對路徑,否則無法成功訪問。地址欄顯示參數(shù)格式為“?id=0&code=1”
params:只能用 name,不能用 path,地址欄不顯示參數(shù)名稱 id,但是有參數(shù)的值。
4、vue中Keep-alive的作用?
keep-alive是vue中的一個組件,可以使被包裹的組件保留當(dāng)時的狀態(tài),避免重新渲染。當(dāng)使用keep-alive包裹組件時,“mouted和created”鉤子函數(shù)只會執(zhí)行一次,當(dāng)組件間切換回去時不會執(zhí)行。當(dāng)需要多次發(fā)送請求時,可以使用“actived和deactived”,這兩個鉤子發(fā)送請求,注意!這兩個鉤子只有keep-alive才有!
5、Vue中如何實現(xiàn)單頁面應(yīng)用?
5.1、hash模式:通過監(jiān)聽瀏覽器的onhashchange()事件變化,查找對應(yīng)的路由規(guī)則。
5.2、history模式:history模式核心借用了HTML5 history的API,API提供了豐富的router相關(guān)屬性:
history.pushState:瀏覽器歷史記錄添加記錄
history.replaceState:修改瀏覽器歷史記錄中當(dāng)前記錄
history.popState:當(dāng)history發(fā)生改變時觸發(fā)
6、說一下vue中的常用指令以及它的用法
6.1 v-if 條件渲染
6.2 v-show 條件渲染
6.3 v-html 渲染時遇到標(biāo)簽解析標(biāo)簽
6.4 v-text 渲染時若遇到標(biāo)簽時不解析標(biāo)簽
6.5 v-on 點擊事件
6.6 v-bind 綁定屬性
6.7 v-model 雙向綁定
6.8 v-for 循環(huán)遍歷
7、如何實現(xiàn)多個路徑共享一個組件?
只需要將多個路徑的component的值設(shè)置為同一個組件即可。
8、如何檢測動態(tài)路由的變化?
可以使用watch方法來對$route進(jìn)行監(jiān)聽,或者通過路由守衛(wèi)“beforeRouteUpdate”來進(jìn)行監(jiān)聽。
9、vue中如何去除url中的#?去除之后會有什么問題?解決方案是什么?
去除url后的#號可以將路由模式更改為history模式;去除之后會出現(xiàn)用戶在瀏覽器中直接訪問“https://example.com/user/id”時,就會得到一個404錯誤;解決方案是在服務(wù)器上添加一個簡單的回退路由,如果URL不匹配任何靜態(tài)資源,他應(yīng)提供與你的應(yīng)用程序中的index.html相同的頁面
10、$router和$route的區(qū)別是什么?
$route用來獲取路由的信息,它是路由信息的一個對象,里面包含路由的一些基本信息,比如(name、meta、path、hash、query、params、fullpath、matched)等。
$router是主要用來操作路由的,它是VueRouter的實例,包含了一些路由跳轉(zhuǎn)的方法push、replace、go,鉤子函數(shù)等。