【发布时间】:2016-01-14 13:21:41
【问题描述】:
如何使用控制器访问从服务返回的值。在我的代码 service.js 函数 showInfo() 返回 JSON 对象。但是我不能在这个函数之外访问这些对象。如果我尝试从 controller.js 执行 console.log
console.log(chartService.showInfo.new_data)
我明白了
错误无法读取未定义的属性“new_data”。
如果我尝试也会发生同样的情况
console.log(chartService.showInfo)
我得到未定义。
如何从控制器访问函数 showInfo 内的 JSON 对象 new_data?
Service.js
angular.module('myApp')
.service('chartService', function (){
return {
getUrl: function init(path) {
Tabletop.init( { key: path,
callback: showInfo,
simpleSheet: true } )
}
}
function showInfo(data, tabletop){
var new_data = JSON.stringify(data.map(function(el) {
return {
"name": el[Object.keys(el)[0]],
"y": +el[Object.keys(el)[1]]
};
}));
}
})
Controller.js
angular.module('myApp')
.controller('piechartCtrl', [ '$scope', 'chartService', function (chartService, $scope) {
console.log(chartService.showInfo.new_data)
}]);
【问题讨论】:
-
我在
showInfo函数中没有看到返回语句。return是地图功能。
标签: javascript angularjs json angular-controller