2013-07-17 3 views
0

저는 각도 j에 새로운 것이지만 간단한 코드가 작동해야하는 것처럼 보입니다. 내가 잘못 뭐하는 거지각도 범위 변수에 데이터가 없음

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; 
     }); 
    } 

다음은 HTML입니다 : 내 angualr_app.js 여기

<body ng-app="MyHomepage"> 
    <div ng-controller="RedditLoad"> 
     {{a}} 
     <ul> 
      <li ng-repeat="article in a"> 
      {{article.data.title}} 
      </li.... 

가하고있다? console.log (data_array); 올바른 값을 표시하고 있지만 데이터가 템플릿으로 전달되지 않는 것 같습니다.

답변

1

각도 컨텍스트에서는 getJSON 콜백이 실행되지 않으므로 각도가 변경 사항을 알지 못하고 바인딩을 새로 고치지 않습니다. 코드가 외부 소스 (예 : jQuery 이벤트)에서 호출되면 범위 적용 변경을 $ apply 호출로 캡슐화해야합니다.

+0

감사합니다. 그것은 많은 것을 설명합니다. 이로 인해 문제가 해결되었습니다. – user2295420