![](/img/trans.png)
[英]$injector:unpr angularjs when injecting a service in the controller
[英]Error [$injector:unpr] when injecting sanitize dependency
我試圖使用progressBar
從AngularUIBootstrap 。
我有一個objectFactory.js文件:
(function () {
var objectiveFactory = function ($http, animate) {
debugger;
return {
getObjectives: function () {
return $http.get('/api/Objective/');
}
};
};
debugger;
try {
//objectiveFactory.$inject = ['$http', '$animate', '$sanitize'];// error
objectiveFactory.$inject = ['$http', '$animate'];// no error
angular.module('app', []).factory('objectiveFactory', objectiveFactory);
}
catch (e)
{}
}());
確實很奇怪,但是如果我添加新的依賴項$sanitize
:
objectiveFactory.$inject = ['$http', '$animate', '$sanitize'];// not working
然后我有一個錯誤:
angular.js:13920錯誤:[$ injector:unpr] http://errors.angularjs.org/1.5.8/ $ injector / unpr?p0 = sanitizeProvider%20%3C-%20sanitize%20%3C-%20objectiveController at Object.d中http:// localhost:15533 / Scripts / angular.min.js:6:412處的錯誤(本機)( http.// localhost:15533/Scripts/angular.min.js:43:174 [as得到]
但是'$http'
和'$animate',
注入非常有效。
我探索了很多信息,並在我的Web API應用程序中仔細檢查了以下建議:
我已經檢查了angular'js
文件和angular-sanitize.js
版本,它們是相同的1.5.8
。
我的捆綁包文件如下所示:
bundles.Add(new ScriptBundle("~/bundles/angularjs").Include( "~/Scripts/jquery-1.10.2.min.js", "~/Scripts/bootstrap.min.js", "~/Scripts/angular.min.js", "~/Scripts/angular-animate.min.js", "~/Scripts/angular-sanitize.min.js", "~/Scripts/ui-bootstrap-tpls-2.1.3.js", "~/Scripts/objectiveFactory.js", "~/Scripts/objective.js" ));
我嘗試了多種注入方式:
objectiveController.$inject = ['$scope', '$http', 'objectiveFactory', '$animate', 'ngSanitize']; objectiveController.$inject = ['$scope', '$http', 'objectiveFactory', '$animate', '$sanitize']; objectiveController.$inject = ['$scope', '$http', 'objectiveFactory', '$animate', 'sanitize'];
但是,錯誤是相同的:
angular.js:13920錯誤:[$ injector:unpr]未知提供程序:
有人知道我做錯了嗎? ( '$http'
注入非常有效)
將ngSanitize注入您的主模塊以與$ sanitize一起使用 ...
您還需要為$ animate做同樣的事情,注入ngAnimate
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.