在 Angularjs 项目中注入未知提供程序

Injection of unknown provider in Angularjs Project

我在 运行 我的 angular 应用程序中遇到此错误。我已经使用 npm 安装了所有软件包。这个问题是否让我在 angular 和 angular-animate 之间发生了一些版本冲突?

Uncaught Error: [$injector:unpr] Unknown provider: $$isDocumentHiddenProvider <- $$isDocumentHidden <- $$animateQueue <- $animate <- $compile <- $$animateQueue
http://errors.angularjs.org/1.4.14/$injector/unpr?p0=%24%24isDocumentHidden…eQueue%20%3C-%20%24animate%20%3C-%20%24compile%20%3C-%20%24%24animateQueue
    at angular.js:68
    at angular.js:4381
    at Object.getService [as get] (angular.js:4529)
    at angular.js:4386
    at getService (angular.js:4529)
    at Object.invoke (angular.js:4561)
    at angular.js:4387
    at getService (angular.js:4529)
    at Object.invoke (angular.js:4561)
    at angular.js:4387

谁能解释一下该怎么做?

您必须将 angular-animate 版本降级到 Angular 的版本。

如果您使用过 bower install,则转到 bower.json 文件。在那里你可以看到 "angular-animate": "some version",将值替换为 1.4(如果你使用 Angular 1.5,则替换为 1.5)。

我只是想确认Shikha的回答。 我遇到过同样的问题。我的 angular 版本是 1.5.x 而我的 angular-animate 版本是 1.6.x 结果,我收到以下错误:

eQueue%20%3C-%20%24animate%20%3C-%20%24compile%20%3C-%20%24%24animateQueue.

所以,我不得不使用以下命令将 angular-animate 降级到版本 1.4.x:

npm install angular-animate@1.4.8

然后,效果很好。