給出的模版爲我們的網址/foo
的HTML包含以下內容:AngularJS:刪除hashbang反斜線不啓用html5mode
<a href="#bar" ng-click="myfunc()">Hello</a>
我的期望是,這將直接我/foo#bar
。相反,它導致我/foo#/bar
,這是一個問題,因爲我需要使用值欄。現在我正在強行刪除斜線以獲得值欄,但這非常不合理。
我知道這是由於$ location和angularjs的路由機制。以下鏈接提供了一個解決方案,通常可以清除這個問題:AngularJS 1.1.5 - automatically adding hash tag to URLs。
但是,啓用html5mode將我們其餘的鏈接搞砸了,因爲它似乎認爲我們使用的是單頁應用程序,而我們確實沒有。事實上,我們甚至沒有通過angularjs進行路由。
我正在尋找的所有方法都是從位置的散列中刪除斜線。這個問題有一個更簡單的解決方案嗎?
注意:欄可能是頁面內選項卡的名稱,也可能是您可以滾動到的div。我希望將其保留爲簡單的「#」語法,以便其他人在項目中工作。
這感覺有點過於頂部,以獲得相對較小的功能工作。此外,欄的值可能是一個選項卡(我會將其添加到原始問題),並且可能有多個函數用於ng-click。 – limasxgoesto0
雖然它看起來只是你自己的應用程序的一小部分,但是'$ location'及其操作是angularJS框架的很大一部分。您選擇使用它的方式與設計不同,因此「撤消」有很多。 我不確定你對標籤的含義 - 在角度世界中,標籤視圖應該由指令處理。 如果你想嘗試更激烈的事情 - 嘗試閱讀是否有可能禁用'$ location'服務。 [這個問題](http://stackoverflow.com/questions/18611214/turn-off-url-manipulation-in-angularjs)是沿着正確的路線。 –