【发布时间】:2015-03-25 13:26:26
【问题描述】:
我目前正忙于学习 Angular。我有一个连接到径向进度气泡的控制器,我正在创建一个工厂,它使用 $http 从 data.json 获取一些虚拟数据我将工厂注入我的控制器并将该数据设置为变量,以便我可以使用它在其他一些物体内。确切地说,我想从我的 json 文件中获取返回数组的第一个元素作为圆对象上的 dashOffset 属性。我控制器中的当前 console.log 打印出 Undefined 但我工厂中的 console.log 打印出正确的数组。
var app = angular.module('app',['ui.router'])
.factory('Data', function($http){
return {
getData : function(callback){
$http.get('data.json').success(function(res){
console.log(res)
});
}
}
})
.controller('radial', function($scope, Data){
$scope.ryan = Data.getData();
console.log($scope.ryan);
$scope.circle = {
size : 110,
stroke : '#2C3E50',
strokeWidth : 10,
radius : 48,
dashArray : Math.PI * 2 * 48,
dashOffset : (Math.PI * 2 * 48)
}
$scope.circleBG = {
size : 110,
stroke : '#2C3E50',
strokeWidth : 10,
radius : 48,
dashArray : Math.PI * 2 * 48,
dashOffset : (Math.PI * 2 * 48)
}
});
【问题讨论】:
-
那是因为你真的没有从你的工厂方法返回任何东西
-
哦,我明白了,但是即使我将 return res 添加到成功函数的末尾,它仍然会打印 undefined
标签: angularjs angularjs-directive angularjs-scope angular-ui-router