javascript - 未知提供商 : pagingParamsProvider <- pagingParams In ResultAnalysisDetailController

标签 javascript java angularjs jhipster

这是我的 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:12http://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/

相关文章:

javascript - 如何在 ExtReact 中正确布局表单中的元素?

Javascript/CSS - 在没有出现的图像中淡入淡出?

javascript - 专门使用Bootstrap3

javascript - JS : JSON Data query like SQL

javascript - AngularJS 路由和模型——我在正确的轨道上吗?

java - 如何将文本添加到 JTextArea

java - 我将 Builder 集成测试放在哪里?

java - 在同一个 Jframe 中操作多个 JPanel

php - json_decode(file_get_contents ("php://input")) 不工作

javascript - data-toggle ="dropdown"激活路由重定向而不是 yeoman 中的下拉菜单