1

$stateProvider我想要的状态下:

  • 加载服务 JS 文件
  • 解析服务函数(API 调用)
  • 将结果数据传递给控制器

控制器/my-controller.js

angular.module('app').
    controller('MyController', ['$scope', function($scope, serviceData){
        console.log(serviceData)
}]);

配置.js

...

.state('main', {
    url: "/",
    templateUrl: 'templates/my-template.html',
    controller: 'MyController',
    resolve: {
        dependencies: ['$ocLazyLoad', function($ocLazyLoad) {
            return $ocLazyLoad.load([
                'controllers/my-controller.js'
            ])
        }],
        serviceData: ['$ocLazyLoad', '$injector', function($ocLazyLoad, $injector) {
            return $ocLazyLoad.load('services/my-service.js')
                .then(function(){
                    var $myService = $injector.get('MyService');
                    return $myService.GetData();
                })
        }]
    }
})

我希望控制器console.log从 MyService 执行的 API 调用返回的数据(为简洁起见,不包括在内,但该部分有效)。相反,我得到undefined.

有任何想法吗?谢谢!

4

0 回答 0