【发布时间】:2016-09-05 20:31:44
【问题描述】:
我正在尝试使用来自AngularUIBootstrap 的progressBar。
我有一个 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 在错误(本机) 在http://localhost:15533/Scripts/angular.min.js:6:412 在http://localhost:15533/Scripts/angular.min.js:43:174 在 Object.d [as get]
但'$http' 和'$animate',injections 完美运行。
我探索了很多信息,并在我的 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'injection 完美运行)
【问题讨论】:
-
您是否将 ngSanitize 注入到您的主模块中?
-
@PoyrazYilmaz 哎呀,主要模块是什么?我只有两个 JavaScript 文件:
objectoveFactory和objectiveController。 -
angular.module('app', []) 这是你的主模块,你没有在这里注入任何东西。 $https 可以正常工作,因为它带有核心,但您必须注入 ngSanitize 才能使 $sanitize 工作......
-
@PoyrazYilmaz 谢谢!有用!发表你的答案,我会标记它!
-
他不能注入控制器吗?
标签: javascript angularjs asp.net-mvc twitter-bootstrap