gpt4 book ai didi

javascript - 如何在一页上覆盖 autoscroll=true ?

转载 作者:行者123 更新时间:2023-11-28 01:04:49 25 4
gpt4 key购买 nike

我正在创建 SPA,并且需要从一条路线转到另一条路线时滚动到顶部的链接。

但是,我想在一个 View 上禁用该功能,因为我们使用的搜索使用 select 来更新 url 中的路由,以使搜索结果可共享。

Ex: $location.path($location.path()).search('state', $scope.myState);

如果我不这样做,页面就不会更新结果。

将 ng-view 设置为 autoscroll=true 后,一旦使用选择,它就会更新整个页面。

$anchorScrollProvider.disableAutoScrolling();对于一个 View /模块根本不禁用它。

angular.module('projects').value('$anchorScroll', angular.noop);禁用它,但它会在整个站点范围内使用。因此,如果我从项目转到常见问题解答,它不会到达顶部。

我可能在位置路径上做错了,它与自动滚动无关,因为这似乎按照记录工作。

谢谢,AngularN00b

更新:看起来它可以工作,但我根本无法让它工作:

在index.html中

<div ng-view class="content-wrapper" ng-class="{'secondary': !is_path('/')}" autoscroll="enableAutoScroll"></div>

在项目 Controller 中:

$scope.selectSubject = function() {
$scope.enableAutoScroll = false;
$location.path($location.path()).search('subject', $scope.mySubject);
};

我可以在项目页面上看到日志及其将值更新为 false。

最佳答案

ngViewautoscroll 属性接受 Angular 表达式,因此您可以将其与 $scope 绑定(bind):

<div ng-view autoscroll="enableAutoScroll">

在调用$location.path()之前,您可以启用/禁用自动滚动,如下所示:

$scope.enableAutoScroll = false;

希望这有帮助。

关于javascript - 如何在一页上覆盖 autoscroll=true ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25209763/

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