我在导航栏中有这段代码
<li><a href=#products?scrollTo=products">Products</a></li>
这在控制器中
$scope.$on('$routeChangeSuccess', function (newRoute, oldRoute) {
$location.hash($routeParams.scrollTo);
$anchorScroll();
});
,这在配置
中$routeProvider.when('/products', { templateUrl: '../pages/home/home.html',
controller : 'mainController' });
它按预期工作,因为它滚动到#products div所在的位置,即使我不在主页中。 (返回主页并自动向下滚动)。
现在,在URL中显示/ products?scrollTo = products#products
是否可以通过www.home.com或www.home.com/products更改内容?
谢谢!
答案 0 :(得分:0)
您可以将哈希值传递给$ anchorScroll,它会在不将其添加到URL的情况下传递给它。
$scope.$on('$routeChangeSuccess', function (newRoute, oldRoute) {
$anchorScroll($routeParams.scrollTo);
});