Angular-animate - 未知提供者:$$ asyncCallbackProvider< - $$ asyncCallback< - $ animate< - $ compile

时间:2014-03-26 12:32:37

标签: javascript angularjs animation

我有一个奇怪的问题。我想在我的AngularJS项目中包含angular-animate - 我正在使用AngularJS v1.2.6。我已将angular-animate添加到我的凉亭文件中。它已下载并添加到源文件中的HTML文件中,它指向正确的文件(它在浏览器中加载)。现在我需要将其添加为依赖项,因此我将模块添加到我的应用程序中......

angular.module('myApp', [
        'ngResource',
        'ngSanitize',
        'ngRoute',
        'ui.bootstrap',
        'LocalStorageModule',
        'cookiesModule',
        'ngAnimate'
    ])  

然而,只要Grunt在检测文件更改和构建时出现问题,我就会收到以下错误:

Unknown provider: $$asyncCallbackProvider <- $$asyncCallback <- $animate <- $compile

我已经检查了拼写,我已按照https://github.com/angular/bower-angular-animate上提到的说明进行操作,但我无法理解为什么这不起作用或为什么我收到错误!我在依赖项数组中更改了依赖项的位置,但这没有做任何事情。还有其他人经历过这个吗?我会继续研究这个,但如果有人克服或确定了为什么会发生这种情况,请大声说出来!提前致谢

5 个答案:

答案 0 :(得分:73)

唷!我想我已经修好了......鲍尔似乎是问题和解决方案!

我在bower文件中从AngularJS 1.2.6更改为1.2.15,这解决了我的问题:

所以我改变了这个:

  "angular": "1.2.6"

到这个

  "angular": "1.2.15"

嗯,这只花了我2个小时!

答案 1 :(得分:56)

这里的问题是Angular版本与angular-animate版本不匹配。尽量保持它们对齐,因此如果使用角度1.2.6,也可以使用角度动画1.2.6。

此外,您必须在bower.json中进行更改后清理bower组件(删除bower文件夹),bower将不会检查安装的版本是否与bower.json相同

一般情况下,如果可以的话,我建议使用最高的稳定角度和ng-animate版本。

答案 2 :(得分:1)

此问题可能是由于兼容性问题。虽然改变bower.json中的角度版本可以解决问题,但解决这个问题的最好方法是获得角度和角度动画的最新副本,即~1.4.0

最好的部分是asyncCallback未在最新版本中使用。所以不会出现这样的错误。 :P

答案 3 :(得分:1)

我遇到了同样的问题。我使用角度动画1.3.4,角度为1.4.8。在将角度版本降级到1.3.4之后,错误消失了。

答案 4 :(得分:0)

bower.json 文件

查找并更改为"angular": "1.5.8" 而不是键入命令bower update