【发布时间】:2013-03-17 18:06:27
【问题描述】:
我无法访问 AngularJS 控制器中的数组,但它可以在视图中使用。
在控制器中:.results 返回未定义
function TwitterCtrl($scope, $resource){
$scope.twitter = $resource('http://search.twitter.com/:action',
{action:'search.json', q:'angularjs', callback:'JSON_CALLBACK'},
{get:{method:'JSONP', params: {rpp: 4}}});
$scope.twitterResult = $scope.twitter.get({q:"example"});
//returns the resource object
console.log($scope.twitterResult)
//returns undefined
console.log($scope.twitterResult.results);
}
在视图中:.results 返回推文数组
//This returns an array of tweets
{{$scope.twitterResult.results}}
【问题讨论】:
-
谢谢。那篇文章描述了我一直在努力实现的目标。我将所有代码放在
success回调中,以便使用results数组。我希望我可以将数组分配给一个变量并在该函数之外访问它。 -
你可以这样做——例如,$scope.twitterResult = $scope.twitter.get(...)`——只要你还添加一个
$watch('twitterResult', function(newValue) { ... })来检测它什么时候得到异步更新。
标签: javascript angularjs angular-ui angularjs-scope