2015-04-15 32 views
1

是否可以突出显示使用ng-repeat生成的值更改,从每5秒更新一次的外部JSON文件中进行更改。与$间隔AngularJS可以观察ng-repeat中的变化吗?

这是控制器:

app.controller('main', function($scope,$http,$interval,$routeParams){ 
    $scope.pageParam = $routeParams.pageParam; 

    function getJSON(){ 
    var url = "json.php"; 
    $http.get(url) 
     .success(function(data){ 
      $scope.matches = data; 
      console.log(data); 
     }) 
     .error(function(data) { 
      console.log('Error'); 
     }); 
    }; 
    getJSON(); 
    $interval(getJSON,5000); 

}); 

而在HTML,我用NG-重复从$打印数据scope.matches,如果一些我在打印变化的数据$ scope.matches我希望它被突出显示。

<div class="col-xs-4 odd">{{ match.odds }}</div> 

所以,如果match.odds是5.6,并在下一个间隔更改为5.9我想更改颜色。

Sample of the JSON file

回答

0

$scope.$watchCollection(matches, function(newMatches, oldMatches){...}); 
+0

我赞成它,但请提供在将来这样简短的回答一些解释。 –

+0

它没什么帮助,我将需要通过ID进行比较,某些属性具有id +类型,我将需要观察该属性 示例:13245 + field1; 13245 + field2 我希望你能理解我 – jovcem

+0

如果你想要要注意'matches'数组的变化,这就是如何去做的。 'getJSON()'用一个新数组替换数组,所以你必须$看整个数组的更改。在不添加任何JS的情况下,可以通过为ng-repeat添加“track by”表达式来动画更改(以防止每个DOM元素重新呈现),然后使用css为更改设置动画效果(不完全确定该部分)。 – HankScorpio