我仍然面临这个问题。我的问题有点不同
我在其他情况下调用我的$ anchorScroll函数。提交表单时。它正在进行第二次点击,如上所述。我也曾尝试过早期的解决方案,但没有运气:(
$scope.scrollTo = function(element) {
var old = $location.hash();
$location.hash(element);
$anchorScroll();
$( 'html, body').animate({
scrollTop: $(element).offset().top
}, 1000);
$location.hash(old);
};
我在另一个函数中调用它,即提交表单。
$scope.saveProfile = function (profile) {
$log.debug("now the profile is " + JSON.stringify(profile));
dataFactory.persistChange("profiles",profile,$scope,postSuccessUpdate);
$scope.scrollTo( "#error ");
}
这是我的主播
<div ng-class="statusDisplayClass" ng-show="messages" id="error">
Here it will be displayed
</div>
请帮我解决这个问题。我缺乏的地方。
答案 0 :(得分:0)
您可以将$scope.scrollTo( "#error ");
更改为$location.hash('error');
$anchorScroll();
。
它应如下所示:
$scope.saveProfile = function (profile) {
$log.debug("now the profile is " + JSON.stringify(profile));
dataFactory.persistChange("profiles",profile,$scope,postSuccessUpdate);
$location.hash('error');
$anchorScroll();
}
我不确定这是否有效,因为在我的环境中它可以正常工作。