gpt4 book ai didi

angularjs - AnchorScroll 仅在第二次点击后有效

转载 作者:行者123 更新时间:2023-12-01 07:55:07 24 4
gpt4 key购买 nike

我相信我遇到了这里提到的同样问题:$anchorScroll and $location only work after second try

我查看了有效的 plunker 并且我已经设置了路由,但它仍然需要点击两次。我使用的是 ng-route 而不是 ui-router。如何防止单击两次才能使 anchorScroll 工作?因为第一个想要建立一条路线而不是滚动到适当的 anchor 。

这是点击:

<a data-ng-click="gotoRequests()">Requests</a>

这里是目的地:
<div id="pendingrequests"></div>

这是我的 Controller 中的功能:
    $scope.gotoRequests = function() {
// set the location.hash to the id of
// the element you wish to scroll to.
$location.hash('pendingrequests');

// call $anchorScroll()
$anchorScroll();
};

最佳答案

我能够使用以下答案之一解决它:How to handle anchor hash linking in AngularJS

通过创建以下函数:

$scope.scrollTo = function(id) {
var old = $location.hash();
$location.hash(id);
$anchorScroll();
//reset to old to keep any additional routing logic from kicking in
$location.hash(old);
};

我会这样称呼它:
<a href="" data-ng-click="scrollTo('pendingrequests')">Yipee</a>

<div id="pendingrequests"></div>

关于angularjs - AnchorScroll 仅在第二次点击后有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29637614/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com