在控制器上注入 ui-路由器解析结果

Inject ui-router resolve result on controller

我试图在控制器中注入这个由服务解析的 fieldsList 变量,但出现错误:

projectApp = angular.module('projectApp', ['ui.router']);

projectApp.config(function($stateProvider, $urlRouterProvider, $locationProvider, $httpProvider) {

    $urlRouterProvider.otherwise('/');

    $stateProvider.state('initial', {
        url: '/',
        template: 'Hi !'
    })

    .state('fields', {
        url: '/customers/fields',
        resolve: {
            fieldsList: function (fieldService) {
                return fieldService.getFields();
            }
        },
        views: {
            '': {
                controller: 'fieldController',
                templateUrl: '/static/app/customers/pages/fields.html'
            },
            'list@fields': {
                controller: 'fieldListController',
                templateUrl: '/static/app/customers/pages/fields.list.html'
            }
        }
    })

    //$locationProvider.html5Mode(true);    
});

//控制器

projectApp.controller('fieldListController', ['$scope, $http', 'fieldsList', function($scope, $http, fieldsList) {

    this.fieldsList = fieldsList;

    console.log(this.fieldsList);
}]);

// 错误:

angular.min.js:124 Error: [$injector:unpr] http://errors.angularjs.org/1.6.6/$injector/unpr?p0=%24scope%2C%20%24httpProvider%20%3C-%20%24scope%2C%20%24http%20%3C-%20fieldListController
    at angular.min.js:7
    at angular.min.js:46
    at Object.d [as get] (angular.min.js:43)
    at angular.min.js:46
    at d (angular.min.js:43)
    at e (angular.min.js:44)
    at Object.instantiate (angular.min.js:44)
    at angular.min.js:95
    at Object.<anonymous> (angular-ui-router.min.js:11)
    at angular.min.js:17 "<div class="row mt-4 ml-1 mr-1 ng-scope" ui-view="list">"

任何人都可以看看这个并请说出我做错了什么吗? PS:我可以记录webservice的数据。所以看起来至少服务有效。

它的发生仅仅是因为你的控制器的注入数组有 '$scope, $http' 作为一个字符串。
像这样拆分两个依赖项:

['$scope', '$http', 'fieldsList', function($scope, $http, fieldsList) {

这应该可以解决错误。