我有一个带有许多链接的角应用程序。单击每个链接可显示一组特定数据。我希望每个链接都在URL中设置一个哈希值,比如http://foo.com/bar#item1,我还希望在直接访问带有哈希值的URL时显示包含特定数据集的页面。
我希望通过读取/操作$ location.hash()来实现它,但是只要我将$ location注入我的控制器,URL中的#item1就会变为#/ item1。有没有办法阻止Angular这样做,以及设置我所描述内容的最佳方法是什么?
答案 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',{