我正在尝试将AngularJS $anchorScroll与结合使用$location.hash。但是,当我设置哈希时,AngularJS在其后添加一个正斜杠。
$anchorScroll
$location.hash
例如,网址为:http://localhost:13060/Dashboard。当我不包括AngularJS库时,我可以单击链接#contact,然后转到http://localhost:13060/Dashboard#contact。
http://localhost:13060/Dashboard
#contact
http://localhost:13060/Dashboard#contact
但是,当我包含AngularJS并单击链接时,它将导致http://localhost:13060/Dashboard#/contact$ anchorScroll无法工作。
http://localhost:13060/Dashboard#/contact
编辑$ anchorScroll不起作用
起始URL是http://localhost:13060/Category。当我添加类别时,它应该转到http://localhost:13060/Category#/#id(其中id是新ID)并向下滚动到该页面。URL正确更新,但是$ anchorScroll没有滚动。
http://localhost:13060/Category
http://localhost:13060/Category#/#id
//jump to new category $location.path(""); $location.hash(cat.ID); $anchorScroll();
除非您使用html5mode(从角度路由中删除哈希值),否则您将有2个散列,一个用于角度路由,另一个用于锚。
http://localhost:13060/Dashboard#/#contact
假设您/profiles在该视图中将路由路径设置为and anchor,则该URL如下所示:
/profiles
http://localhost:13060/Dashboard#/profiles#contact