1. 程式人生 > 實用技巧 >vue守衛、儲存與路由模式

vue守衛、儲存與路由模式

1、守衛

//全域性守衛 
router.beforeEach(to,from,next)
router.afterEach(to,from)

//路由獨享守衛 :守衛路由
beforeEnter(to,from,next){}

//元件內部守衛 :
beforeRouteEnter(to,from,next){} //這裡使用不到this
beforeRouteUpdate(to,from,next){}
beforeRouteLeave(to,from,next){}

2、本地儲存

localStorage是永久性儲存,頁面關閉了也還在 sessionStorage是臨時儲存,頁面關閉了就沒了

localStorage.setItem("a",1) //存,不管是什麼型別,最終都會變成字串型別 
localStorage.getItem("a",) //取,如果取到了就是存的那個值,如果沒取到就是nu ll
localStorage.removeItem("a") //刪除

sessionStorage.setItem("a",1) //存,不管是什麼型別,最終都會變成字串型別
sessionStorage.getItem("a",) //取,如果取到了就是存的那個值,如果沒取到就是 null
sessionStorage.removeItem("a") //刪除

3、別名

{
path:"/search",
// 別名
alias:"/s",
component:search
}

4、懶載入

const home=()=>Promise.resolve(import("路徑資訊")) 
const movie=()=>import("路徑資訊")

5、路由模式

區別: 
hash模式:
1.採用的是window.onhashchange事件實現。
2.可以實現前進 後退 重新整理。
3.比如這個URL:http://www.abc.com/#/hello, hash 的值為#/hello。
它的特點在於:hash 雖然出現URL中,但不會被包含在HTTP請求中, 對後端完全沒有影響,因此改變hash不會重新載入頁面

history模式:
1.採用的是利用了HTML5 History Interface 中新增的pushState() 和replace State() 方法。
2.可以前進、後退,但是重新整理有可能會出現404的報錯
3.前端的url必須和實際向後端發起請求的url 一致,如http://www.abc.com/boo k/id 。
如果後端缺少對/book/id 的路由處理,將返回404錯誤。
不過這種模式要玩好,還需要後臺配置支援。
因為我們的應用是個單頁客戶端應用,
如果後臺沒有正確的配置,當用戶在瀏覽器直接訪問 http://oursite.com/user/id
就會返回 404,這就不好看了。
所以呢,你要在服務端增加一個覆蓋所有情況的候選資源:
如果 URL 匹配不到任何靜態資源,則應該返回同一個 index.html 頁面
這個頁面就是你 app 依賴的頁面。