『壹』 前端工程師必問面試題vue路由模式路由守衛
vue的路由模式一共有兩種,分別是哈希和history,他們的區別是hash模式不會包含在http請求當中,並且hash不會重新載入頁面,而使用history模式的話,如果前端的url和後端發起請求的url不一致的話,會報404錯誤,所以history的原理是利用html5新增的兩個特性方法,分別是psuhState和replaceState來完成的,以上就是對vue路由的理解。
路由的導航守衛 又叫做路由的鉤子函數(生命周期函數)
就是在跳轉頁面的時候把路由欄下來,做一些操作在放行,vue一共提供了三種路由守衛。
第一種是全局守衛
beforeEach路由進入之前
afterEach路由進入之後
第二種 組件內守衛
beforeRouteEnter 路由進入之前
beforeRouteUpdate 路由更新之前
beforeRouteLeave 路由離開之前
第三種 路由獨享守衛
beforeEnter 路由進入之前
分別是 to from next
next 這個參數 在路由3.x版本的時候,是必須的
但是到了路由4.x版本的時候next參數變成可選的了
一般來說vue2搭配 3.x的路由
vue3搭配 4.x 的路由
比如說購物車頁面只有登陸的才能訪問,我們可以用組件級守衛購物車頁面,如果已經登陸存有token 的話,就繼續訪問這個頁面,如果沒有登陸的話就會跳轉到登陸頁面。
在項⽬中我們經常使⽤路由守衛實現⻚⾯的鑒權. ⽐如:當⽤戶登錄之後,我們會把後台返回的token以及⽤戶信息保存到vuex
和本地,當⻚⾯進⾏跳轉的時候,我們會在路由守衛⾥⾯獲取vuex⾥⾯的token,如果token存在的話,我們則使⽤next讓他進⼊要
跳轉的⻚⾯,如果token不存在的話我們使⽤next⽅法讓他回到登錄⻚
以上就是我對vue路由守衛的理解。
⾸先v-if和v-show都是控制元素的顯示與隱藏, 不過v-if控制元素的顯
示和隱藏的時候會刪除對⽤的dom元素,當每⼀個顯示的時候,都會重新創建dom和渲染. ⽽v-show則是通過css的display:none
和display:block來控制元素的顯示與隱藏. v-if⽐較耗費性能,所以我們涉及到頻繁的顯示隱藏操作我們建議使⽤v-show,如果不
是頻繁操作的話,我們可以v-if
在項⽬中我會經常使⽤v-if和v-show,⽐如我們在搜索功能的時候,他有⼀個歷史記錄,這個時候我們根據是否有搜索的結果來判
斷歷史記錄的顯示與隱藏,這塊我就可以使⽤v-if ,當然⽤v-show也可以. 以上就是我對v-if和v-show的理解。
v-for的優先順序⾼. 因為v-for的時候我們才開始渲染dom元素,這個v-if還⽆法進⾏判斷.
v-for和v-if不能同時使⽤,我們可以通過標簽,⽐如div或者template標簽來進⾏包裹,把v-if寫到包裹的標簽上⾯(寫到v-for外⾯)。
⾸先呢,methods是⽤來定義⽅法的區域,methods定義的⽅法需要調⽤才能觸發. 不具備緩存⾏
⽽computed是計算屬性,他依賴於屬性值的變化,當屬性發⽣改變的時候,計算屬性⾥⾯定義的⽅法就會觸發,computed具有緩
存性,依賴屬性值的變化⽽變化.
⽽watch主要是⽤於監聽,不具備被緩存性.依賴於數據變化⽽觸發.
在項⽬中,⽐如我們獲取state的狀態的時候我們會把它放到computed⾥⾯,或者在寫購物⻋數量計算的時候也會使⽤計算屬性.
⽽watch也在項⽬經常使⽤,⽐如我們封裝編輯 和 新增彈窗組件的時候會通過watch來進⾏id判斷我們要顯否要清空表單的數
據.
以上就是我對computed和watch的理解。
『貳』 Web 前端面試
博客園整理了一下,有好的面試題歡迎大家發在評論區喲
1. 閉包
2. 數組去重
3. 原型和原型鏈
4. call,apply,bind三者的區別?
5. 請介紹常見的 HTTP 狀態碼(至少五個)
6. 深淺拷貝
7. 實現(5).add(3).minus(2)輸出6
8. null和undefined區別
9. MVC和MVVC?
10. Vue生命周期
11. Vue數據雙向綁定原理
12. Vue組件傳參
13. 說說各瀏覽器存在的兼容問題
14. router和route
15. active-class屬於Vue哪一個moles,有什麼作用
16. v-if和v-show
17. computed和watch有什麼區別
18.Vue 組件中 data 為什麼必須是函數
19. vue中子組件調用父組件的方法
20. vue中 keep-alive 組件的作用
21. vue中如何編寫可復用的組件?
22. Vue 如何去除url中的 #
23. Vue 中 key 的作用
24. Vue 中怎麼自定義指令
25. Vue 中怎麼自定義過濾器
26. NextTick 是做什麼的
27. Vue 組件 data 為什麼必須是函數
28. 計算屬性computed 和事件 methods 有什麼區別
29. scoped(死夠撲的)
30. vue如何獲取dom?
31. promise
32. vue常用指令有哪些
33.vue-loader是什麼?使用和用途?
34.css樣式局部化,如何讓css只在當前組件起作用?scss和stytus樣式穿透
閉包指有權訪問另一個函數中變數的函數,
MDN: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Closures
B站視頻: https://www.bilibili.com/video/BV1YJ411R7ap?from=search&seid=18157596230752413126
https://www.jianshu.com/p/9c3547450a52
https://search.bilibili.com/all?keyword=%E5%8E%9F%E5%9E%8B%E9%93%BE%20%E9%BB%91%E9%A9%AC
都是用來改變this指向的
call和apply都是function原型上的方法,每一個函數作為function的實例都可以調用這兩個方法,而這兩個方法都是用來改變this指向的
一般情況下this指向其調用者()
fun.call(thisArg,arg1,ary2,...)
主要作用可以實現繼承
調用函數,改變this指向
繼承
fun.apply(thisArg,[argsArray])
作用:調用函數,改變函數內部this指向
參數必須是數組
apply主要應用於藉助數學對象等
bind()方法不會調用函數,但可以改變函數內部this指向
fun.bind(thisArg,arg1,arg2,...)
thisArg:在fun函數運行時指定的this值
arg1,arg2:傳遞的其他參數
返回由指定的this值和初始化參數改造的原函數拷貝
call的性能要比apply好一些,尤其當傳遞參數超過3個,後期開發可多用call
時間測試
狀態碼是由 3 位數組成,第一個數字定義了響應的類別,且有五種可能取值:
1xx:指示信息–表示請求已接收,繼續處理。
2xx:成功–表示請求已被成功接收、理解、接受。
3xx:重定向–要完成請求必須進行更進一步的操作。
4xx:客戶端錯誤–請求有語法錯誤或請求無法實現。
5xx:伺服器端錯誤–伺服器未能實現合法的請求。
阮一峰: http://www.ruanyifeng.com/blog/2014/03/undefined-vs-null.html
MVC 是後端中的概念
MVVC中 是前端概念
最終實現V和M數據的同步,因此開發者只需關注業務邏輯,不需要手動操作Dom,mvvm是vue的核心
這兩個不同的結構可以看出兩者的區別,他們的一些屬性是不同的。
active-class 屬於vue-router的樣式方法
當routerlink標簽被點擊時將會應用這個樣式
使用有兩種方法
routerLink標簽內使用
在使用時會有一個Bug
首頁的active會一直被應用
解決辦法
為了解決上面的問題,還需加入一個屬性exact,類似也有兩種方式:
在router-link中寫入exact
在路由js文件,配置active-class
還可以不用exact這種方法去解決,例如
首頁
路由中加入重定向
computed
computed是計算屬性,也就是計算值,它更多用於計算值的場景
computed具有緩存性,computed的值在getter執行後是會緩存的,只有在它依賴的屬性值改變之後,下一次獲取computed的值時重新調用對應的getter來計算
computed適用於計算比較消耗性能的計算場景
watch
watch更多的是[觀察]的作用,類似於某些數據的監聽回調,用於觀察props $emit或者本組件的值,當數據變化時來執行回調進行後續操作
無緩存性,頁面重新渲染時值不變化也會執行
小結
當我們要進行數值計算,而且依賴於其他數據,那麼把這個數據設計為computed
如果你需要在某個數據變化時做一些事情,使用watch來觀察這個數據變化。
去這里看一下blog.csdn.net
vue-router 默認使用 hash 模式,所以在路由載入的時候,項目中的 url 會自帶 #。如果不想使用 #, 可以使用 vue-router 的另一種模式 history
new Router({
mode: 'history',
routes: [ ]
})
需要注意的是,當我們啟用 history 模式的時候,由於我們的項目是一個單頁面應用,所以在路由跳轉的時候,就會出現訪問不到靜態資源而出現 404 的情況,這時候就需要服務端增加一個覆蓋所有情況的候選資源:如果 URL 匹配不到任何靜態資源,則應該返回同一個 index.html 頁面
具體參考 官方API
參考 官方文檔-自定義指令
過濾器也同樣接受全局注冊和局部注冊
具體可參考官方文檔 深入響應式原理
我們可以將同一函數定義為一個 method 或者一個計算屬性。對於最終的結果,兩種方式是相同的
不同點:
讓css只在當前組件中起作用
『叄』 簡述路由器怎麼設置
簡述路由器怎麼設置?下面就由我給大家介紹介紹吧,希望對大家有幫助。
簡述路由器設置:
將前端上網的寬頻線連接到路由器的WAN口,上網電腦連接到路由器的LAN口上。
請確認入戶寬頻的線路類型,根據入戶寬頻線路的不同,分為電話線、光纖、網線三種接入方式,連接方法請參考下圖:
您也可以參考:線路連接圖
線路連好後,路由器的WAN口和有線連接電腦的LAN口對應的指示燈都會常亮或閃爍,如果相應埠的指示燈不亮或電腦的網路圖標顯示紅色的叉,則表明線路連接有問題,請檢查確認網線連接牢固或嘗試換一根網線。
請參考:網線接上了指示燈卻不亮?
[1]打開瀏覽器,清空地址欄並輸入tplogin.cn(部分較早期的.路由器管理地址是192.168.1.1),並在彈出的窗口中設置路由器的登錄密碼,(密碼長度在6-15位區間),該密碼用於以後管理路由器(登錄界面),請妥善保管。如下圖:
[2]登錄成功後,路由器會自動檢測上網方式,如下圖: 如果無法登錄界面,請參考:登錄不了路由器的管理界面?
[3]根據檢測到的上網方式,填寫該上網方式的對應參數:
注意:如果檢測結果是自動獲得IP地址/固定IP地址上網,請按照頁面提示進行操作。
注意事項
76%的用戶上不了網是因為輸入了錯誤的用戶名和密碼,請仔細檢查輸入的寬頻用戶名和密碼是否正確,注意區分中英文、字母的大小寫、後綴是否完整等。如果不確認,請咨詢寬頻運營商。
[4]設置無線名稱和密碼:
無線名稱建議設置為字母或數字,盡量不要使用中文、特殊字元,避免部分無線客戶端不支持中文或特殊字元而導致搜索不到或無法連接。
TP-LINK路由器默認的無線信號名稱為"TP-LINK_XXXX ",且沒有密碼。
為確保您的網路安全,建議一定要設置無線密碼,防止他人非法蹭網。
[5]設置完成,等待保存配置:
[6]創建TP-LINK ID,TP-LINK ID是用來將路由器連接到雲伺服器,實現在線升級、應用安裝、遠程管理等功能的管理ID。請選擇創建免費的TP-LINK ID。您也可以點擊右上角的跳過。
注意:路由器成功連接網路後,界面才會提示創建TP-LINK ID。如果界面沒有提示創建TP-LINK ID,說明路由器WAN口未撥號成功,請點擊參考:設置完路由器上不了網?
根據提示輸入手機號碼,並設置TP-LINK ID的登錄密碼。如下圖:
創建好之後,TP-LINK ID會自動成功登錄。
路由器設置完成,電腦可以打開網頁嘗試上網了。
如果您還有其它台式機、網路電視等有線設備想上網,將設備用網線連接到路由器1/2/3/4任意一個空閑的LAN口,直接就可以上網,不需要再配置路由器了。
注意事項
請記住之前第一部分中在路由器里設置的兩個無線參數,一個是無線信號的名稱,另外一個是無線密碼(第一次連接無線信號需要輸入的密碼)。
『肆』 用迷你無線路由器中繼的時候,前端路由器都需要怎麼設置
可以中繼。這時候你要連接到迷你無線路由上。。
『伍』 TP Link mr10u怎麼連接前端 我已經有一個TP Link的前端路由器了,這個無線路由器
兩個路由器網關IP一樣,要修改後一個網關IP,不要和前面路由器在一個網段,避免IP沖突。A的LAN口接B的WAN口,兩個路由器級聯。
路由器A開啟DHCP,路由器B設置WAN口動態IP,設置B的LAN口網關不要和A 在一個網段上,避免IP沖突。例如:A的網關IP是192.168.1.1,那把B的LAN口網關改為X.Y.Z.1,即前三位最少有一位要和A的不一樣。路由器無線設置按照說明書設置。
『陸』 hify路由器怎麼設置
HyFi套裝怎麼連接路由器組合使用?HyFi無線智能設備本身就是一個完整的無線路由器,可以取代原有的普通無線路由器。下面我給大家帶來hify路由器的設置方法,歡迎大家閱讀。
hify路由器怎麼設置?
第一:登錄管理界面
1、連接電腦
將前端路由器拉出的網線連接到HyFi路由器的WAN口,設置電腦通過網線連接LAN口,如下
2、輸入管理地址
打開瀏覽器,清空地址欄並輸入192.168.1.1,回車後頁面會彈出登錄框。
3、登錄管理界面
在 設置密碼 框中設置管理員密碼,並在 確認密碼 中再次輸入,點擊 確認。
注意:如果已經設置好密碼,請直接輸入密碼進入管理界面。
第二:設置HyFi路由器
1、修改管理IP地址
登錄路由器管理界面,點擊 網路參數 >> LAN口設置,將LAN口IP修改為與前端不在同一網段(如前端為192.168.1.1,則修改為172.16.1.1),點擊 保存,確定重啟。
2、設置WAN口的上網方式
使用修改後的管理IP地址重新登錄路由器管理界面,點擊 網路參數 >> WAN口設置,WAN口上網方式選擇 動態IP(以實際應用為准)。
3、設置無線參數
點擊 無線設置 >> 無線安全設置,修改 SSID號,建議設置為字母或數字的任意組合,不要使用中文或特殊字元。
點擊 無線設置 >> 無線安全設置,選擇 WPA-PSK/WPA2-PSK 的加密方式,在 PSK密碼 的位置設置無線密碼,點擊 保存。
至此,路由器設置完成。
第三:設置完成,成功上網
設置完成後,進入路由器管理界面,點擊 運行狀態,查看 WAN口狀態,如下圖中IP地址不為0.0.0.0,則表示設置成功。
9第四:注冊設備(配對)
HyFi路由器與擴展器的`注冊(配對)過程如下:
注意:為了便於操作,建議把HyFi套裝插到同一或鄰近的排插,注冊完成後可拔插到適當位置。
至此,所有設置完成。
如果有其他需要上網的電腦,使用網線連接到HyFi路由器的LAN口或者擴展器的網線介面,無需任何設置即可上網。手機、筆記本、Pad等無線終端,搜索到無線信號(本例為zhangsan),輸入無線密碼,連接成功後也直接上網。
注意事項:
注意:部分路由器會提示更改無線設置後,重啟生效,此時需要點擊重啟。
『柒』 設置路由器的時候,網路參數怎麼設置是不是網路服務商提供的
寬頻上網的賬號和密碼是網路服務商提供的,不同的路由器的設置方法不一樣。
工具/原料
寬頻光纖網路
TP無線路由器
計算機
設置/步驟
1、將前端上網的寬頻線連接到路由器的WAN口,上網電腦連接到路由器的LAN口上。請確認入戶寬頻的線路類型,根據入戶寬頻線路的不同,分為電話線、光纖、網線三種接入方式,連接方法請參考下圖:
3、登錄成功後,路由器會自動檢測上網方式
4、根據檢測到的上網方式,填寫該上網方式的對應參數。
『捌』 無線路由器怎麼設置
無線路由器的配置方法:
1.路由器連入網路。
進入無線設置中的無線安全,安全模式選擇WPA2-PSK模式。WPA加密規則選擇AES。設置無線網路秘鑰。設置後路由器會自動重啟,請輸入新的WiFi密碼進行連接。
6.配置完成,享受網路。
『玖』 路由如何設置,筆記本可以和前端六個終端通訊
最簡單的配置就是在路由器的不同介面配置不同網段的IP地址,作為各個電腦的默認網關,各個電腦配置相應網段的IP地址及默認網關即可通信。
這個是直連路由(就是所有的網段都在一個路由器的不同介面),不需要配置任何路由協議,路由器對於直連路由可以直接進行數據轉發的。另外,在網路工程中有一個常識:同一個路由器的不同介面要配置不同網段的ip地址,而直接相連的介面要配置同一個網段的ip地址。
『拾』 愛快前端有個有線路由怎麼設置
愛快的設置方法
不同的上網環境,無線路由器設置方法不同。
如果是需要撥號的寬頻貓接無線路由器,按照下面的方法設置:
1、無線路由器插上電,先不要接貓,電腦連接無線路由器任一LAN口 ;
2、 瀏覽器地址欄輸入路由器IP地址(路由器背後標簽上有的),輸入登錄用戶名和密碼進入設置頁面;
3、按照PPPOE(ADSL虛擬撥號)方式設置,輸入上網賬號和密碼;
4、設置一下SSID、加密方式和 密碼;
5、保存、重啟;
6、設置好以後,把貓LAN口接出來的網線接在無線路由器的WAN口上。