我有一个控制器:
(function() {
'use strict';
angular
.module('myApp')
.controller('ConsultantController', ConsultantController);
ConsultantController.$inject = ['$scope', '$state', 'Consultant'];
function ConsultantController ( $scope, $state, Consultant) {
var vm = this;
vm.consultants = [];
vm.loadAll = function() {
Consultant.query(function(result) {
vm.consultants = result;
});
};
vm.loadAll();
}
})();
如果我注入$ uibModalInstance依赖项:
(function() {
'use strict';
angular
.module('myApp')
.controller('ConsultantController', ConsultantController);
ConsultantController.$inject = ['$uibModalInstance','$scope', '$state', 'Consultant'];
function ConsultantController ( $uibModalInstance, $scope, $state, Consultant) {
var vm = this;
vm.consultants = [];
vm.loadAll = function() {
Consultant.query(function(result) {
vm.consultants = result;
});
};
vm.loadAll();
vm.clearSearchDialog = function() {
$uibModalInstance.dismiss('cancel');
};
}
})();
我收到以下错误:
angular.js:13294 Error: [$injector:unpr] Unknown provider: $uibModalInstanceProvider <- $uibModalInstance <- ConsultantController
http://errors.angularjs.org/1.5.2/$injector/unpr?p0=%24uibModalInstanceProvider%20%3C-%20%24uibModalInstance%20%3C-%20ConsultantController
at http://localhost:8181/bower_components/angular/angular.js:68:12
at http://localhost:8181/bower_components/angular/angular.js:4418:19
at Object.getService [as get] (http://localhost:8181/bower_components/angular/angular.js:4571:39)
at http://localhost:8181/bower_components/angular/angular.js:4423:45
at getService (http://localhost:8181/bower_components/angular/angular.js:4571:39)
at injectionArgs (http://localhost:8181/bower_components/angular/angular.js:4595:58)
at Object.instantiate (http://localhost:8181/bower_components/angular/angular.js:4637:18)
at $controller (http://localhost:8181/bower_components/angular/angular.js:9912:28)
at http://localhost:8181/bower_components/angular-ui-router/release/angular-ui-router.js:4081:28
at invokeLinkFn (http://localhost:8181/bower_components/angular/angular.js:9525:9) <div class="well ng-scope" ui-view="content">
但在我的项目中有几个具有此依赖关系的控制器。 我不明白为什么我在这个控制器上有这个错误。
[UPDATE]
app.js:
(function() {
'use strict';
angular
.module('myApp', [
'ngStorage',
'ngResource',
'ngCookies',
'ngAria',
'ngCacheBuster',
'ngFileUpload',
'ui.bootstrap',
'ui.bootstrap.datetimepicker',
'ui.router',
'infinite-scroll',
'angular-loading-bar'
])
.run(run);
run.$inject = ['stateHandler'];
function run(stateHandler) {
stateHandler.initialize();
}
})();
工作负责人:
(function() {
'use strict';
angular
.module('myApp')
.controller('ConsultantDeleteController',ConsultantDeleteController);
ConsultantDeleteController.$inject = ['$uibModalInstance', 'entity', 'Consultant'];
function ConsultantDeleteController($uibModalInstance, entity, Consultant) {
var vm = this;
vm.consultant = entity;
vm.clear = function() {
$uibModalInstance.dismiss('cancel');
};
vm.confirmDelete = function (id) {
Consultant.delete({id: id},
function () {
$uibModalInstance.close(true);
});
};
}
})();
[更新2]
.state('consultant.search', {
parent: 'consultant',
url: '/search',
data: {
authorities: ['ROLE_USER']
},
onEnter: ['$stateParams', '$state', '$uibModal', function($stateParams, $state, $uibModal) {
$uibModal.open({
templateUrl: 'app/entities/consultant/consultant-search-dialog.html',
controller: 'ConsultantController',
controllerAs: 'vm',
size: 'md',
}).result.then(function() {
$state.go('consultant', null, { reload: true });
}, function() {
$state.go('^');
});
}]
});