2013-06-21 2 views
2

프로젝트 용 JS 프레임 워크를 평가 중이며 Angular와 Ember 사이에 붙어 있습니다. Angular를 평가하기 전에 S3에 저장된 외부 json 파일에 데이터를 바인딩하는 쉬운 방법이 있는지 알아야합니다.JSON 데이터를 Angular로 바인딩하기

내 유스 케이스는 주기적으로 S3에 게시 된 데이터를 사용하여 점수 판을 만드는 것입니다. 대개 15 초 정도입니다.

지금 당장은 로컬 json 파일의 데이터로 기본 스코어 보드 페이지를 만들었지 만 json 파일이 변경 될 때 index.html에서 데이터를 업데이트하는 방법이 있습니다. 어떤 종류의 콜백을 만드시겠습니까?

도움을 주시면 감사하겠습니다. 감사!

<!doctype html> 
<html ng-app="App" > 
<head> 
    <meta charset="utf-8"> 
    <title>LIVE</title> 
    <link rel="stylesheet" href="style.css"> 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.js"></script> 
    <script src="app.js"></script> 
</head> 
<body ng-controller="ScoreboardCtrl"> 
    <ul> 
    <li ng-repeat="score in scores"> 
     {{score.home_team_score}} - {{score.away_team_score}} 
    </li> 
    </ul> 
</body> 
</html> 

답변

3

이 JSON 파일이

을 변경하면 index.html을 갱신의 데이터를 만들 수있는 방법을 :

// app.js 
var App = angular.module('App', []); 

App.controller('ScoreboardCtrl', function($scope, $http) { 
    $http.get('scoreboard.json') 
    .then(function(res){ 
     // Storing the json data object as 'scores' 
     $scope.scores = res.data; 
    }); 
}); 

아이디어는 점수를 순환하여 점수 판을 만드는 것입니다

이미 그렇게해야합니다. $scope.scores을 변경하면보기가 업데이트됩니다.

라이브 서버에서 업데이트해야하는 경우 setInterval (또는 $ timeout 서비스)을 사용하여 타이머를 설정하고 $http.get 전화를 정기적으로 수행하십시오.

+0

완벽하게 작동합니다! – Mike

관련 문제