我有一段时间想弄清楚为什么我在Angular中收到Unknownprovider错误。我检查了我可以在该主题上找到的所有其他问题,并且大多数都提出了依赖项注入中的错误。但是,在我看来,好像没有忘记注入任何东西。我一直在尝试使resolve属性像Misko的这篇文章一样工作。解决该问题后,我可以控制台注销员工数据,但是随后出现Unknown provider错误,这将阻止数据显示在页面上。
这是我的路由器:
"use strict";
var app = angular.module('app',[
'employeeServices'
]);
app.config(appRouter);
function appRouter ($routeProvider) {
$routeProvider
.when('/employees/:account_id', {
controller: 'EmployeeCtrl',
templateUrl: 'view/employee/view.html',
resolve: employeeCtrl.resolve
})
.otherwise({ redirectTo: '/' });
}
这是我的控制器
var employeeCtrl = app.controller('EmployeeCtrl', [
'$scope',
'employees',
function ($scope, employees) {
$scope.employee = employees;
console.log($scope.employee);
}
]);
employeeCtrl.resolve = {
employees: function (Employee, $q, $route) {
var deferred = $q.defer();
console.log("current params: ", $route.current.params.account_id);
Employee.getOne({ id: $route.current.params.account_id }, function (successData) {
deferred.resolve(successData);
}, function (errorData) {
deferred.reject(errorData);
});
return deferred.promise;
}
};
而我的工厂:
angular.module('employeeServices', ['ngResource'])
.factory('Employee', ['$resource', function ($resource) {
return $resource('/employees/:id/json',
{
id: '@account_id'
},
{
'save': {
method: 'POST',
isArray: false
},
'update': {
method: 'PUT',
params: {
id: '@account_id'
}
},
'remove': {
method: 'DELETE',
params: {
id: '@account_id'
}
},
'getOne': {
method: 'GET',
params: {
id: '@account_id'
},
isArray: false
},
'query': {
method: 'GET',
params: {
id: '@account_id'
},
isArray: true
}
}
);
}]);
任何建议将不胜感激!
所以问题是我正在局部视图中通过ng-controller设置EmployeeCtrl控制器,如下所示:
<div class="viewPage" ng-controller="EmployeeCtrl">
但是,在使用resolve时,必须通过路由器完成控制器的设置,以使其在运行时可用。我删除了ng-controller="EmployeeCtrl
…
<div class="viewPage">
……而且,就像没有任何事情发生一样。
我必须指出,我在AngularJS
IRC频道
上得到了善良,耐心的同伴的帮助…
问题内容: 我正在尝试在html页面中显示配置的值和角值服务中的版本代码,但显示的不是作者的名字,这是html代码 这是指令… 这是在其中配置和值的服务部分 我在开发人员控制台中遇到的错误是 问题答案: 确保将这些模块( myApp.services 和 myApp.directives )作为主要应用程序模块的依赖项加载,如下所示: 塞子: http ://plnkr.co/edit/wxuFx
问题内容: 我在尝试实现Bootstrap Modal窗口时一直收到此错误。可能是什么原因造成的?我已经从http://angular- ui.github.io/bootstrap/#/modal 复制/粘贴了所有内容。 问题答案: 当您为控制器,服务等编写依赖项时,还没有创建或包含该依赖项,就会发生这种错误。 在这种情况下,不是已知的服务。听起来您在引导angular时没有将ui- boots
问题内容: 我正在尝试启动并运行AngularJS 1.2 RC2应用程序。目前,我一直在使用Angular Seed项目来尝试使我的应用程序启动并运行。不幸的是,Angular Seed项目使用的是v1.0.7。在Angular Seed项目中,我将依赖项更新为以下内容: 在app.js中,我具有以下内容: 当我运行此应用程序时,出现以下错误: 我已经阅读了其他一些回答,例如1)注入’ngrou
问题内容: 我试图通过遵循工厂方法文档中的示例来构建自己的服务。我认为我做错了,因为我继续遇到未知的提供程序错误。这是我的应用程序代码,包括声明,配置和工厂定义。 编辑我现在添加了所有文件以帮助解决问题 编辑该错误的完整详细信息在下面,问题似乎与getSettings有关,因为它正在寻找getSettingsProvider,但找不到它 这些是我目前在我的应用程序中拥有的所有文件 app.js 这
问题内容: 我试图在angularjs应用程序中使用路由,如下所示: app.js controller.js index.html productList.html 当我运行此代码时,我在(谷歌浏览器的)控制台中收到以下错误: 我开始知道发生此错误,因为我在productsCtrl中使用。但是那我该怎么办?我该如何解决这个问题? 问题答案: $ element是不可注入的(它不是在Angular
问题内容: 好吧,在我开始解决这个臭名昭著的问题之后,现在我正式秃头了:缩小的AngularJS应用程序无法正常工作,并抛出了以下错误: 错误:[$ injector:unpr]未知提供程序:aProvider <-a http://errors.angularjs.org/1.2.6/ $ injector / unpr?p0 = aProvider%20%3C-%20a位于http:// lo