这是我的 Controller 。 pagingParams 与其他 jhipster 生成的 Controller 一起工作正常。但在我的 Controller 中,它提供了未知的提供程序,
(function() {
'use strict';
angular
.module('netCopOnlineExamApp')
.controller('ResultAnalysisDetailController', ResultAnalysisDetailController);
ResultAnalysisDetailController.$inject = ['$scope', '$state', 'DataUtils','ResultAnalysis','Exam','DateUtils','ParseLinks','paginationConstants','pagingParams'];
function ResultAnalysisDetailController($scope, $state, DataUtils, ResultAnalysis ,Exam, DateUtils,ParseLinks, paginationConstants, pagingParams) {
var vm = this;
vm.loadPage = loadPage;
vm.predicate = pagingParams.predicate;
vm.reverse = pagingParams.ascending;
vm.transition = transition;
vm.itemsPerPage = paginationConstants.itemsPerPage;
vm.refreshExamPackages=refreshExamPackages;
vm.refreshExams =refreshExams;
vm.selectedPackageChanged = selectedPackageChanged;
vm.selectedExamChanged = selectedExamChanged;
vm.datePickerOpenStatus = {};
vm.openCalendar = openCalendar;
vm.getDetails = getDetails;
vm.searchQuery = pagingParams.search;
vm.currentSearch = pagingParams.search;
function refreshExamPackages(select){
if(select.search !== null && select.search !==''){
var searchQuery=select.search ;
vm.examPackages=ResultAnalysis.getTopExamPackages({subString :searchQuery});
}
}
function refreshExams(select){
if(select.search !== null && select.search !==''){
var searchQuery=select.search ;
vm.exams=ResultAnalysis.getTopExams({subString :searchQuery});
}
}
function selectedPackageChanged(){
console.log(vm.examPackage.packageId);
vm.exams=Exam.getExamsByPackageId({id:vm.examPackage.packageId});
}
function selectedExamChanged(){
console.log(vm.exam.examId)
}
vm.datePickerOpenStatus.startDateFrom = false;
vm.datePickerOpenStatus.startDateTo = false;
vm.datePickerOpenStatus.endDateFrom =false;
vm.datePickerOpenStatus.endDateTo =false;
function openCalendar (date) {
vm.datePickerOpenStatus[date] = true;
}
function getDetails(){
if(!angular.isUndefinedOrNull(vm.exam.startDateFrom) && !angular.isUndefinedOrNull(vm.exam.startDateTo) &&
angular.isUndefinedOrNull(vm.exam.endDateFrom) && angular.isUndefinedOrNull(vm.exam.endDateTo)){
console.log("START DATE FROM "+vm.exam.startDateFrom);
console.log("START DATE TO "+vm.exam.startDateTo);
var dateFrom=DateUtils.convertLocalDateToServer(vm.exam.startDateFrom);
console.log(dateFrom);
var dateTo=DateUtils.convertLocalDateToServer(vm.exam.startDateTo);
console.log(dateTo);
vm.exams=ResultAnalysis.getExamsStartDateBetween({startDateFrom :dateFrom,startDateTo:dateTo,page: pagingParams.page - 1,size: vm.itemsPerPage,sort: sort()},on);
console.log(vm.exams);
}
if(!angular.isUndefinedOrNull(vm.exam.endDateFrom) && !angular.isUndefinedOrNull(vm.exam.endDateTo) &&
angular.isUndefinedOrNull(vm.exam.startDateFrom) && angular.isUndefinedOrNull(vm.exam.startDateTo)){
console.log("START DATE FROM "+vm.exam.endDateFrom);
console.log("START DATE TO "+vm.exam.endDateTo);
var dateFrom=DateUtils.convertLocalDateToServer(vm.exam.endDateFrom);
console.log(dateFrom);
var dateTo=DateUtils.convertLocalDateToServer(vm.exam.endDateTo);
console.log(dateTo);
vm.exams=ResultAnalysis.getExamsEndDateBetween({endDateFrom :dateFrom,endDateTo:dateTo});
console.log(vm.exams);
}
if(!angular.isUndefinedOrNull(vm.exam.startDateFrom) && !angular.isUndefinedOrNull(vm.exam.startDateTo) &&
!angular.isUndefinedOrNull(vm.exam.endDateFrom) && !angular.isUndefinedOrNull(vm.exam.endDateTo) ){
var stardateFrom=DateUtils.convertLocalDateToServer(vm.exam.startDateFrom);
console.log(stardateFrom);
var startdateTo=DateUtils.convertLocalDateToServer(vm.exam.startDateTo);
console.log(startdateTo);
var enddateFrom=DateUtils.convertLocalDateToServer(vm.exam.endDateFrom);
console.log(enddateFrom);
var enddateTo=DateUtils.convertLocalDateToServer(vm.exam.endDateTo);
console.log(enddateTo);
vm.exams=ResultAnalysis.getExamsStartDateBetweenAndEndDateBetween({startDateFrom :stardateFrom,startDateTo:startdateTo,endDateFrom :enddateFrom,endDateTo:enddateTo});
console.log(vm.exams);
}
}
function sort() {
var result = [vm.predicate + ',' + (vm.reverse ? 'asc' : 'desc')];
if (vm.predicate !== 'id') {
result.push('id');
}
return result;
}
function onSuccess(data, headers) {
vm.links = ParseLinks.parse(headers('link'));
vm.totalItems = headers('X-Total-Count');
vm.queryCount = vm.totalItems;
vm.exams = data;
vm.page = pagingParams.page;
}
function loadPage(page) {
vm.page = page;
vm.transition();
}
function transition() {
$state.transitionTo($state.$current, {
page: vm.page,
sort: vm.predicate + ',' + (vm.reverse ? 'asc' : 'desc'),
search: vm.currentSearch
});
}
}
})();
通过jhipster生成的 Controller 也有pagingParams注入(inject),但是该文件没有问题。我的 Controller 出现上述错误。
错误:[$injector:unpr] 未知提供程序:pagingParamsProvider <- pagingParams <- ResultAnalysisDetailController http://errors.angularjs.org/1.5.8/ $injector/unpr?p0=pagingParamsProvider%20%3C-%20pagingParams%20%3C-%20ResultAnalysisDetailController 在http://localhost:8080/bower_components/angular/angular.js:68:12 在http://localhost:8080/bower_components/angular/angular.js:4511:19 在 Object.getService [as get] ( http://localhost:8080/bower_components/angular/angular.js:4664:39 ) 在http://localhost:8080/bower_components/angular/angular.js:4516:45 在 getService ( http://localhost:8080/bower_components/angular/angular.js:4664:39 ) 在injectionArgs ( http://localhost:8080/bower_components/angular/angular.js:4688:58 ) 在 Object.instantiate ( http://localhost:8080/bower_components/angular/angular.js:4730:18 ) 在 $controller ( http://localhost:8080/bower_components/angular/angular.js:10369:28 ) 在对象。 (http://localhost:8080/bower_components/angular-ui-router/release/angular-ui-router.js:4095:28)
最佳答案
我想你应该在你的 ui-router 配置中解析 pagingParams,如下所示:
.state('resultAnalysisDetail', {
parent: 'entity',
url: '/resultAnalysisDetail?page&sort&search',
params: {
page: {
value: '1',
squash: true
},
sort: {
value: 'id,asc',
squash: true
},
search: null
},
resolve: {
pagingParams: ['$stateParams', 'PaginationUtil', function ($stateParams, PaginationUtil) {
return {
page: PaginationUtil.parsePage($stateParams.page),
sort: $stateParams.sort,
predicate: PaginationUtil.parsePredicate($stateParams.sort),
ascending: PaginationUtil.parseAscending($stateParams.sort),
search: $stateParams.search
};
}]
}
})
关于javascript - 未知提供商 : pagingParamsProvider <- pagingParams In ResultAnalysisDetailController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44693215/