$ anchorScrollProvider.disableAutoScrolling():undefined不是函数

时间:2015-04-16 14:29:37

标签: javascript angularjs

我正在使用Angular 1.3.15。我正在尝试在哈希值发生变化时禁用自动滚动。

根据documentation,我需要在disableAutoScrolling()上致电$anchorScrollProvider。所以这是我的代码:

var app = angular.module("myApp", [
    // ... dependencies here ...
]);

app.config(['$locationProvider', '$anchorScrollProvider', function($locationProvider, $anchorScrollProvider) {
    $locationProvider.html5Mode({ enabled: true, requireBase: false });
    $anchorScrollProvider.disableAutoScrolling();
}]);

然而,这会在倒数第二行引发“未定义不是函数”错误。

任何想法为什么会发生?

感谢。

1 个答案:

答案 0 :(得分:2)

解决方案是 问题相当尴尬(这是问题的作者,BTW)。

在寻找禁用自动滚动功能的方法时,有些人建议让它实际运行的唯一方法是从模块中删除$anchorScroll

所以在我的一个控制器中,我添加了.value($anchorScroll, angular.noop)并忘了它。显然,从我的模块中删除了$anchorScroll因此错误。

感谢大家的帮助。你引导我走向解决方案。