[英]AngularJS - Unknown provider: undefinedProvider
我間歇性地收到此錯誤:
錯誤:[$injector:unpr] 未知提供者:undefinedProvider <- http://errors.angularjs.org/1.2.16/ $injector/unpr?p0=undefinedProvider%20%3C-%20
它最多可以重復 10 次。
這似乎是第一次將頁面加載到瀏覽器中時發生的。 通常,當我刷新頁面時,消息不會出現。
這不是一個新的應用程序。 它已經工作了一段時間,但我進行了更改。 症狀間歇性出現的事實使得很難隔離導致它的變化。
令我困惑的是undefinedProvider
。 歡迎任何有關如何查找提供商名稱的建議!
我使用的是 AngularJS 1.2.16 的未縮小版本。
我已經完成了通常的事情,比如使用數組語法。
我知道這沒什么可做的,但我想我會檢查是否有人在將代碼縮減為一個plunker之前經歷過類似的事情。
我最近添加的一件事是通過來自節點服務器的 ejs 變量傳遞一些配置數據(正如谷歌關於 ng-conf 的“大規模應用程序”的演講所推薦的那樣)。 它工作正常,但我想知道是否存在一些時間問題。 這是一個片段:
.config(['$provide', function ($provide) {
var profile = angular.copy(window.activeProfile);
$provide.constant('Config', profile.config);
console.log("Config:", profile.config);
}])
.run(['$rootScope', '$state', '$window', 'Config', function ($rootScope, $state, $window, Config) {
配置按我的預期記錄。
這似乎是 ngAnimate 1.2.16 及更高版本中的錯誤(或與 AngularStrap 不兼容?)。 在我的應用程序的早期版本上工作,更高版本給我這個:
Error: [$injector:unpr] Unknown provider: undefinedProvider <-
http://errors.angularjs.org/1.3.0-beta.5/$injector/unpr?p0=undefinedProvider%20%3C-%20
at http://code.angularjs.org/1.3.0-beta.5/angular.js:78:12
at http://code.angularjs.org/1.3.0-beta.5/angular.js:3709:19
at Object.getService [as get] (http://code.angularjs.org/1.3.0-beta.5/angular.js:3836:39)
at http://code.angularjs.org/1.3.0-beta.5/angular.js:3714:45
at Object.getService [as get] (http://code.angularjs.org/1.3.0-beta.5/angular.js:3836:39)
at lookup (http://code.angularjs.org/1.3.0-beta.5/angular-animate.js:409:36)
at animationRunner (http://code.angularjs.org/1.3.0-beta.5/angular-animate.js:458:17)
at performAnimation (http://code.angularjs.org/1.3.0-beta.5/angular-animate.js:862:22)
at http://code.angularjs.org/1.3.0-beta.5/angular-animate.js:623:13
at Scope.$digest (http://code.angularjs.org/1.3.0-beta.5/angular.js:12308:36)
我沒有直接使用 ngAnimate,而是通過 AngularStrap 和 Toaster 指令。
我的解決方案是恢復到 Angular 和 angular-animate 版本 1.2.15。
還有一堆麻煩射擊項目設在這里
你是否不止一次定義過你的模塊? 確保你沒有angular.module('name', []);
兩次以數組作為第二個參數。
有趣的是,調用$injector.get(key);
使用 undefined 作為你的鍵會給你同樣的錯誤,但調用堆棧會很容易地指向你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.