2015-11-03 18 views
0

我在我的AngularJS應用程序中啓用了html5mode,因此我可以使用URL格式site.com/path而不是site.com/#/path訪問路徑。如何使用AngularJS的HTML5模式啓用導航到URL的散列?

但啓用html5mode後導航到哈希無法正常工作。當我通過Chrome導航到site.com/#hash時,URL自動更改爲site.com/hash。由於hash不是服務器上的資源,因此此URL會導致加載默認的index.html文件,而不是滾動到hash位置。

這似乎是一個非常平凡的用例,但我怎樣才能使網址格式site.com/#hash按預期與AngularJS一起工作?

+0

刪除'html5mode'代碼,然後嘗試它 –

+0

刪除html5mode後,如果您需要,網址需要爲「site.com /#/#hash」,以便散列代替「site.com /#hash」工作 – Price

+0

添加'#散列'它不會產生任何問題,因爲它只停留在客戶端。您是否嘗試直接在Chrome地址欄上使用相同的URL點擊 –

回答

0

我得到它的幫助下工作:

從文檔頁面引用:

請注意,刪除標籤的要求會產生不利影響使用IE9中的$ location解析相對路徑時會產生副作用。

總之,角葉哈希片段不變只有的網址:

  • html5mode啓用,
  • 哈希前綴已定,
  • 和你沒有設置requireBase:false雖然啓用html5mode

難怪人們覺得它很困難掌握AngularJS:文檔很薄弱,框架就像是一個魔術黑盒子,它可以控制你的應用程序遠離你。

相關問題