我有一个带有angularjs路由的应用程序,但在某些视图上我想滚动到一些特定的div我使用anchorScroll但有时(并非所有时间)它刷新所有页面甚至我停止事件传播。 有人有这个问题吗?
$scope.redirectTodiv = function(divname,event) {
event.stopPropagation();
event.preventDefault();
$location.hash(divname);
$anchorScroll();
};
答案 0 :(得分:20)
试试这个
$scope.redirectTodiv = function(divname,event) {
var id = $location.hash();
$location.hash(divname);
$anchorScroll();
$location.hash(id);
};
答案 1 :(得分:0)
一键式导航的方法是结合$ location.hash()$ anchorScroll并将routeProvider reloadOnSearch属性设置为false,即。 在您的控制器代码中:
$location.hash("editor");
$anchorScroll();
在您的路线提供者中:
$routeProvider.when("/masters/voucher", {
templateUrl: "views/card/voucher.html",
reloadOnSearch: false
})
答案 2 :(得分:0)
我在同一页面上有两个用例:
window.setTimeout(function(){
$location.hash("anchorForm");
$anchorScroll();
}, 300);