課程
/前端開發
/Vue.js
/3小時速成 Vue2.x 核心技術
在瀏覽器中輸入http://localhost:8080/時回自動添加#/后綴,
麻煩能解釋下具體的原因么?
如果在新建Router時設置屬性mode:?'history',就不會在根url后添加“#”。
2019-09-12
源自:3小時速成 Vue2.x 核心技術 4-4
正在回答
關于Vue router的模式,可以參考官方的文檔來了解:
具體這樣做的原因?設計路由就是為了提高用戶體驗,而設計兩種不同的模式,是針對了不同的業務場景。
使用 URL 的 hash 來模擬一個完整的 URL,于是當 URL 改變時,頁面不會重新加載。
這里有幾個角度來思考這個問題:
角度一:Vue設計之初,對于流行的單頁面應用,為了提高頁面的過渡,減少頁面的刷新,引入了路由的概念。那么,路由的設計的時候,有的時候,我們需要去取參數(比如路由的路徑);有的時候,像在一些與動態語言配合的時候,需要絕對的路徑;還有一些特別的情況,比如微信環境,#號就經常被截斷了。
那么,這個時候,使用#號配合?history.pushState?API 來完成 URL 跳轉而無須重新加載頁面。
history.pushState
角度二:這個就是配置的原因,Vue的默認配置就是mode: 'hash'。這個參考一下,官方的文檔:https://router.vuejs.org/zh/guide/essentials/history-mode.html。如果,沒有設置,vue會默認加一個#號,這樣,方便進行路由的管理,做到頁面的平滑切換而不刷新。
慕慕8026351 提問者
舉報
帶你快速學習最流行的前端框架vue2.x的核心技術
4 回答點擊添加按鈕后,不能自動更新,需要手動點擊load state
1 回答關于eslint的問題
1 回答關于保存后eslint語法檢查問題
2 回答點擊添加,無法添加數據
2 回答關于current:''的問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2019-09-13
關于Vue router的模式,可以參考官方的文檔來了解:
具體這樣做的原因?設計路由就是為了提高用戶體驗,而設計兩種不同的模式,是針對了不同的業務場景。
這里有幾個角度來思考這個問題:
角度一:Vue設計之初,對于流行的單頁面應用,為了提高頁面的過渡,減少頁面的刷新,引入了路由的概念。那么,路由的設計的時候,有的時候,我們需要去取參數(比如路由的路徑);有的時候,像在一些與動態語言配合的時候,需要絕對的路徑;還有一些特別的情況,比如微信環境,#號就經常被截斷了。
那么,這個時候,使用#號配合?
history.pushState
?API 來完成 URL 跳轉而無須重新加載頁面。角度二:這個就是配置的原因,Vue的默認配置就是mode: 'hash'。這個參考一下,官方的文檔:https://router.vuejs.org/zh/guide/essentials/history-mode.html。如果,沒有設置,vue會默認加一個#號,這樣,方便進行路由的管理,做到頁面的平滑切換而不刷新。