亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于根url后自動添加“#”的問題

在瀏覽器中輸入http://localhost:8080/時回自動添加#/后綴,

麻煩能解釋下具體的原因么?

如果在新建Router時設置屬性mode:?'history',就不會在根url后添加“#”。

正在回答

1 回答

關于Vue router的模式,可以參考官方的文檔來了解:

具體這樣做的原因?設計路由就是為了提高用戶體驗,而設計兩種不同的模式,是針對了不同的業務場景。

使用 URL 的 hash 來模擬一個完整的 URL,于是當 URL 改變時,頁面不會重新加載。

這里有幾個角度來思考這個問題:

角度一:Vue設計之初,對于流行的單頁面應用,為了提高頁面的過渡,減少頁面的刷新,引入了路由的概念。那么,路由的設計的時候,有的時候,我們需要去取參數(比如路由的路徑);有的時候,像在一些與動態語言配合的時候,需要絕對的路徑;還有一些特別的情況,比如微信環境,#號就經常被截斷了。

那么,這個時候,使用#號配合?history.pushState?API 來完成 URL 跳轉而無須重新加載頁面。

角度二:這個就是配置的原因,Vue的默認配置就是mode: 'hash'。這個參考一下,官方的文檔:https://router.vuejs.org/zh/guide/essentials/history-mode.html。如果,沒有設置,vue會默認加一個#號,這樣,方便進行路由的管理,做到頁面的平滑切換而不刷新。

0 回復 有任何疑惑可以回復我~
#1

慕慕8026351 提問者

大概明白一些了,十分感謝老師的耐心解答
2019-09-13 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于根url后自動添加“#”的問題

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號