angularjs 解析未定义

angularjs resolve is undefined

所以在我的状态下,我有

    angular.module('app', ['ui.router', 'chart.js'])
        .config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {
            $urlRouterProvider.otherwise('/');
            $stateProvider
                .state('home', {
                    url: '/home',
                    component: 'home',
                    resolve: {
                        data: ['$http', function ($http) {
                            return $http.get('some api call')
                                .then(function (response) {
                                    console.log("this is the response", response);
                                    return response;
                                });
                        }]
                    }
                });
        }]);

然后我得到正确的回复。但是当我在这里检查我的决心时,

angular.module('app')
    .component('home', {
        templateUrl: 'Content/app/components/home.html',
        bindings: {
            resolve: '<'
        },
        controller: [
            function () {
                var vm = this;
                vm.$onInit = function () {
                    console.log("this is the resolve", vm)

                }

            }]
    });

我发现我的决心是不确定的。我做错了什么吗?

$stateProvider 会将您在 resolve 对象 指定的内容绑定到您的组件,而不是绑定整个 resolve 对象本身。

angular.module('app')
  .component('home', {
    templateUrl: 'Content/app/components/home.html',
    bindings: {
        data: '<'
    },
    controller: [
      function () {
        var vm = this;
        vm.$onInit = function () {
          console.log("this is the resolve", vm)
        }
      }]
  });

文档 link:https://ui-router.github.io/ng1/docs/latest/interfaces/state.statedeclaration.html#as-an-object