1.url不動式
url完全不動,即你的頁面怎么改變,怎么跳轉url都不會改變。這種情況的原理 就是純ajax拿到頁面后替換原頁面中的元素,刷新頁面就是首頁
2.帶hash(#)式
這種相對於第一種的話刷新頁面頁面不會丟失
實現原理
寫一個window事件我監聽url的變化,那我就能實先路由,那樣我就可以根據url的變化,來通過ajax請求參數來渲染頁面,一個url對應一個頁面,就不會重復。
window.addEventListener(‘hashchange‘,function(){
self.urlChange()
})
3.無hash(#)式
這種類型是通過html5的最新history api來實現的 能正常的回退前進,超嗨
那么問題來了
第一種方式頁面不能刷新,第二種刷新也無妨,因為url並沒有改變,請求url從服務器照樣能夠loading到頁面。
但是第三種就出問題了,我一刷新就loading不到頁面就報404頁面丟失了。怎么辦呢???
解決方案
方案一
通過后台控制404轉發到程序入口index.html頁面來,讓頁面能夠正常的顯示。
方案二
通過服務器的nginx配置
可以去參考下vue的單頁面模式路由頁刷新解決方案
http://www.cnblogs.com/kevingrace/p/6126762.html
轉載地址:https://blog.csdn.net/u013234218/article/details/70170837