AngularJS.如何禁用自动滚动到我的页面顶部

Pau*_*nko 9 javascript angularjs

请告诉我,如何禁用自动向上到我的页面顶部?如果我使用哈希导航:

<a href="#/index">Goto index</a>
Run Code Online (Sandbox Code Playgroud)

我的页面最重要,但如果我使用AngularJS:Html:

<a ng-href="#/index">Goto index</a>
Run Code Online (Sandbox Code Playgroud)

JS:

$routeProvider.
      when('/index', {
          template:'...',
          controller: 'RouteCtrl'
      })
Run Code Online (Sandbox Code Playgroud)

我的页面滚动到顶部.我该如何禁用它?

Jaw*_*awa 23

我发现你的平原href不滚动和ng-href滚动有点奇怪,我认为这是另一回事......

但是,对于解决方案; 由浏览器滚动哈希更改,因此通常要禁用它,您需要拦截和preventDefault()事件,然后自己更改位置.使用Angular时,您可以为<a>元素定义一些属性指令,也可以只定义自己的a指令.

如果您使用ng-view,它依赖于$anchorScroll具有视图更新的服务来模拟浏览器通常会执行的操作,因为Angular已经拦截了该事件.您可以通过提供自己无效的滚动来阻止滚动视图加载$anchorScroll:

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