Javascript 如何加载服务、解析函数并通过ocLazyLoad状态将数据传递给控制器?
在Javascript 如何加载服务、解析函数并通过ocLazyLoad状态将数据传递给控制器?,javascript,angularjs,oclazyload,Javascript,Angularjs,Oclazyload,在$stateProvider状态中,我想: 加载服务JS文件 解析服务函数(API调用) 将结果数据传递给控制器 控制器/my controller.js angular.module('app'). controller('MyController', ['$scope', function($scope, serviceData){ console.log(serviceData) }]); ... .state('main', { url: "/"
$stateProvider
状态中,我想:
- 加载服务JS文件
- 解析服务函数(API调用)
- 将结果数据传递给控制器
angular.module('app').
controller('MyController', ['$scope', function($scope, serviceData){
console.log(serviceData)
}]);
...
.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();
})
}]
}
})
config.js
angular.module('app').
controller('MyController', ['$scope', function($scope, serviceData){
console.log(serviceData)
}]);
...
.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调用返回的数据(为了简洁起见,不包括该部分,但该部分可以工作)。相反,我得到了未定义的
有什么想法吗?
谢谢