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

Mik*_*Sav 57 javascript animation angularjs

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

angular.module('myApp', [
        'ngResource',
        'ngSanitize',
        'ngRoute',
        'ui.bootstrap',
        'LocalStorageModule',
        'cookiesModule',
        'ngAnimate'
    ])  
Run Code Online (Sandbox Code Playgroud)

但是,只要Grunt尝试检测文件更改和构建,我就会收到以下错误:

Unknown provider: $$asyncCallbackProvider <- $$asyncCallback <- $animate <- $compile
Run Code Online (Sandbox Code Playgroud)

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

Mik*_*Sav 73

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

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

所以我改变了这个:

  "angular": "1.2.6"
Run Code Online (Sandbox Code Playgroud)

对此

  "angular": "1.2.15"
Run Code Online (Sandbox Code Playgroud)

好吧,那只花了我2个小时!

  • 花了我5分钟,谢谢你:) (27认同)
  • 如果它不起作用,只需手动安装ngAnimate凉亭版本:`bower install angular-animate#1.2.6 --save` (5认同)
  • 我很高兴这解决了其他人的问题,但它似乎无法解释为什么会发生,这只是一个修复.我目前得到相同的问题,但这个修复不再工作:( (2认同)

Pau*_*ber 56

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

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

一般来说,如果可以的话,我建议使用最高的稳定角度和ng-animate版本.