我正在通過loadChildren("123#childModule")
從appModule
加載模塊,它總是在瀏覽器中附加/#/
。Angular 2 - 從URL中刪除哈希(#)
我試過useHash : false
以及Providers
作爲PathLocationStrategy
,但我仍然看到問題。
一直在做這方面的研究,但到目前爲止我沒有找到任何解決方案。任何想法?提前致謝。
我正在通過loadChildren("123#childModule")
從appModule
加載模塊,它總是在瀏覽器中附加/#/
。Angular 2 - 從URL中刪除哈希(#)
我試過useHash : false
以及Providers
作爲PathLocationStrategy
,但我仍然看到問題。
一直在做這方面的研究,但到目前爲止我沒有找到任何解決方案。任何想法?提前致謝。
你可以試試這個:
如果您正在使用角決賽,原因哈希可能是:
RouterModule.forRoot(yourRoutesHere, { useHash: true })
或使用此:
旁邊的模塊提供程序,檢查您的模塊導入,它也可以通過提供{useHash:true}作爲RouterModule.forRoot的第二個參數來覆蓋它:
imports: [
...
RouterModule.forRoot(routes, { useHash: true }) // remove second argument
]
首先,我相信你試圖用模塊 惰性加載的路由代碼應該是這樣的:
{ path: 'mgt', loadChildren: 'app/your-mgt/your-mgt.module#YourModule'}
而且#顯示在您的網址無關的「#」在這裏。
默認情況下,角使用PathLocationStrategy已經
RouterModule.forRoot(routes)
我想這是你的:
RouterModule.forRoot(routes, { useHash: true } or RouterModule.forRoot(routes, { useHash: false }
不知道什麼是您的後端是,但如果你有一個,它會使用AJAX來獲取數據。 如果您在後端使用Express。 嘗試this
李您好,感謝您的答覆。我們在URL中看到/#/只是在沒有服務調用的情況下加載靜態頁面本身。嘗試useHash:假但仍然沒有運氣。我們不確定在網址中加什麼#。我很喜歡角2,請幫助。 –
@RajuCh你能告訴我你的app.module.ts文件嗎? –
我想出它出錯的地方,我們製作的自定義庫使用Hashlocation策略。感謝您的支持和幫助。 –
語法增強 – Fabien
添加您app.routing.ts模塊的內容在這裏 – MondKin
https://stackoverflow.com/a/46315140/2978923 – Deshak9