我是Angular.js的新手并且使用angularjs-template种子项目。我在连接控制器和服务时遇到问题。代码运行正常,但我似乎没有将任何数据返回到控制器。
我已经谷歌搜索了一下,并在这个论坛上阅读了simimar的帖子,但在尝试了各种不同的方法后,我仍然无法使其工作。
listController.js
(function () {
'use strict';
angular.module('app.node.list', ['app.nodeService'])
.controller('NodeListController', NodeListController);
NodeListController.$inject = ['$log', 'nodeService'];
function NodeListController($log, nodeService) {
var vm = this;
vm.node = [];
//vm.node = [{name: 'michael'}, {name: 'carol'}]
retrieve();
// ***************************************************************************
$log.info('About to print contents of vm.node');
$log.info(vm.node);
// ***************************************************************************
function retrieve() {
return getJson().then(function () {
$log.info('Retrieved Json');
});
}
function getJson() {
return nodeService.getAPIData().then(function (data) {
vm.node = data;
// ***************************************************************************
$log.info('About to print contents of data and vm.node in getJSON');
$log.info(data);
$log.info(vm.node);
// ***************************************************************************
return vm.node;
});
}
}
})();
nodeService.js
(function () {
'use strict';
angular.module('app.nodeService', [])
.factory('nodeService', nodeService);
nodeService.$inject = ['$http', '$log', '$q'];
function nodeService($http, $log, $q) {
return {
getAPIData: getAPIData
};
function getAPIData(){
// ***************************************************************************
$log.info('getAPIData Started');
// ***************************************************************************
return $http.get("https://n4nite-api-n4nite.c9users.io/v1/imm/summary")
.then(getAPIDataComplete)
.catch(getAPIDataFailed)
function getAPIDataComplete(response){
// ***************************************************************************
$log.info('getAPIDataComplete Started');
$log.info('Printing contents of getAPIDataComplete response.data');
$log.info(response.data);
// ***************************************************************************
return response.data;
}
function getAPIDataFailed(error){
$log.info('getAPIFailed Started');
var newMessage = 'XHR Failed for getData.';
$log.error(newMessage);
return $q.reject(error);
}
}
}
})();