Angular:更改视图时禁用滚动到顶部

Tho*_*mas 7 javascript angularjs

假设我有一个大标题,以便ng-view指令在页面上显示.就在这个ng-view之前,我有一种触发角度路由的菜单,因此改变了视图.我的问题是,无论何时触发路由,页面都会滚动到顶部,因此部分不在视口中.

这是我的路线:

angular.module('portfolio', [])
  .config(function ($routeProvider, $anchorScrollProvider) {
    $anchorScrollProvider.disableAutoScrolling();
    $routeProvider
      .when('', {
        templateUrl: 'portfolio/index.html',
        controller: 'PortfolioListCtrl'
      })
      .when('/portfolio/:project', {
        templateUrl: 'portfolio/detail.html',
        controller: 'PortfolioDetailCtrl'
      })
      .otherwise({redirectTo: ''});
  });
Run Code Online (Sandbox Code Playgroud)

$anchorScrollProvider.disableAutoScrolling();说它似乎没有用.

有人有想法吗?

joa*_*mbl 6

文档在这一点上有点混乱,我记得有同样的问题.显然ng-view使用$ anchorScroll服务,所以你可以通过在模块中覆盖它来禁用它:

angular.module('portfolio').value('$anchorScroll', angular.noop);
Run Code Online (Sandbox Code Playgroud)