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