如何防止Angular将URL哈希转换为路径

时间:2014-05-23 06:22:02

标签: angularjs angularjs-routing

我有一个带有许多链接的角应用程序。单击每个链接可显示一组特定数据。我希望每个链接都在URL中设置一个哈希值,比如http://foo.com/bar#item1,我还希望在直接访问带有哈希值的URL时显示包含特定数据集的页面。

我希望通过读取/操作$ location.hash()来实现它,但是只要我将$ location注入我的控制器,URL中的#item1就会变为#/ item1。有没有办法阻止Angular这样做,以及设置我所描述内容的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以在路线/bar/item1中传递参数,并使用$routeParams进行抓取,如果存在,则使用$location.hash()

"controller"

var anchor = $routeParams.anchorBottom;
if(anchor){
  $location.hash(anchor);
  $anchorScroll();
}


"link to section"

$location.path('/heart/bottom');


"route"

.when('/heart/:anchorBottom',{

You could see this running here.