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

时间:2013-05-29 18:58:28

标签: 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: ''});
  });

$anchorScrollProvider.disableAutoScrolling();认为这似乎不起作用。

有人有想法吗?

1 个答案:

答案 0 :(得分:6)

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

angular.module('portfolio').value('$anchorScroll', angular.noop);