[英]AngularJS: var in resolve is not injected in controller (unknown provider)
An unknown provider error of var "frameworks" appears in resolve, what is wrong? 解析器中出现var“ frameworks”的未知提供程序错误,这是什么问题? thanks! 谢谢! FrameworkService.loadFrameworks() return a JSON array from REST Service. FrameworkService.loadFrameworks()从REST服务返回一个JSON数组。
app.js app.js
$routeProvider.when('/', {
templateUrl : "views/admin.html",
controller : "FrameworkController",
resolve : {
frameworks : function(FrameworkService) {
return FrameworkService.loadFrameworks();
}
}
});
FrameworkController.js FrameworkController.js
angular.module('app.controllers', []).controller(
'FrameworkController',
[ '$scope', 'FrameworkService', 'frameworks',
function($scope, frameworks) {
$scope.frameworks = frameworks;
} ]);
ERROR 错误
Error: [$injector:unpr] Unknown provider: frameworksProvider <- frameworks
EDIT 编辑
The code showed here it's ok! 这里显示的代码还可以! The problem was in the FrameworkService, that do an asynchronous http request, so var frameworks wasn't injected. 问题出在FrameworkService中,它执行异步http请求,因此未注入var框架。
You don't have a frameworks provider in your module, so the injector can't give you one. 您的模块中没有框架提供程序,因此注入器无法给您提供。 You need to create one be it a service, factory, etc. Depending on what you want. 您需要创建一个服务,工厂等。这取决于您的需求。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.