我遇到这样的问题:我有抽象的状态:
$stateProvider.state('bookings.clients', {
url:"/clients",
abstract:true,
views:{
"@":{
templateUrl:"/Static/CrmPages/CrmMainPage.html",
controller:"CrmMainPageController",
}
},
resolve: {
clientsData:function(clientsDataService) {
return clientsDataService.loadData('ihor.korotenko@n-cube.co.uk');
},
clientsGroupsData: function (userGroupsService) {
//return "some";
return userGroupsService.api.query(function (data) {
userGroupsService.data = data;
}).$promise;
}
}
});
如您所见,有两个解析对象。 然后,我将这些对象注入到子状态的控制器中:
angular.module("crmModule")
.controller("mainPageController", ['clientsGroupsData', 'clientsData', "$scope", "$rootScope", "$translate", 'clients', 'cultureProvider', '$state', function (clientsGroupsData, clientsData, $scope, $rootScope, $translate, clients, cultureProvider, $state)
我的资源提供者:
angular.module("crmModule")
.service("userGroupsService", ['$resource', function ($resource) {
var self = this;
self.data = [];
return {
api: $resource("/api/groupsapi/getallgroups"),
data: self.data
}
}]) 儿童状态:
$stateProvider.state('bookings.clients.overview', {
url:"/overview",
views:{
"crm.main":{
templateUrl: "/Static/CrmPages/main-page.html",
controller:"mainPageController"
}
},
});
问题在于:当控制器实例化时,我看到注入的对象不是空的并且已经解决(没关系),但之后我得到了异常
Error: [$injector:unpr] Unknown provider: clientsGroupsDataProvider <- clientsGroupsData <- mainPageController
我该如何解决这个问题?
答案 0 :(得分:0)
所以我找到了这个错误的原因,它发生是因为我通过ng-controller
指令在html中附加控制器,当然,ui-router不能注入依赖,因为它不会实现控制器。