我对角度js很新,但似乎我的简单代码应该可行。这是html:
<body ng-app="MyHomepage">
<div ng-controller="RedditLoad">
{{a}}
<ul>
<li ng-repeat="article in a">
{{article.data.title}}
</li....
这是我的angualr_app.js:
var App = angular.module('MyHomepage', [])
function RedditLoad($scope){
$.getJSON("http://www.reddit.com/.json?jsonp=?", function(data) {
var data_array = [];
$.each(data.data.children, function(i,item){
data_array.push(item);
});
console.log(data_array);
$scope.a = data_array;
});
}
我做错了什么?的console.log(data_array中);显示正确的值但数据似乎不会传递给模板。
答案 0 :(得分:1)
getJSON回调不在角度上下文中执行,因此angular不知道您的更改,也不会刷新绑定。当从外部源(如jQuery事件)调用代码时,您必须在$ apply调用中封装范围更改:
$scope.$apply(function{
$scope.a = data_array;
}