假设我有一个大标题,以便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();
认为这似乎不起作用。
有人有想法吗?
答案 0 :(得分:6)
文档在这个上有点令人困惑,我记得有同样的问题。显然ng-view使用$ anchorScroll服务,所以你可以通过在模块中覆盖它来禁用它:
angular.module('portfolio').value('$anchorScroll', angular.noop);