我正在使用标准的ng-重复显示一些信息。
标记的开头如下:
<tr ng-repeat="p in currentpicks |filter:searchQuery | orderBy:['mcu','psn','litm']" bs-pop>
                                <td>{{$index+1}}</td>
                                <td>{{p.mcu}}</td>
                                <td>
                                    {{p.psn}}每当p.psn更改行样式时,我都需要:

附加信息:我需要的是每次创建表以“捕获”不断变化的p.psn并添加样式来定义更改。我只拥有来自$http的数据,当一个文件更改值时,我需要区分表行。
我该怎么做呢?
发布于 2015-09-30 13:25:54
<tr ng-repeat="p in currentpicks ...." ng-class="{'special': isSpecial(p)}" ....css
.special {
  background-color: red;
}脚本
$scope.isSpecial = function(pick) {
      return pick.psn > 1000; //whatever condition
};发布于 2015-09-30 13:11:25
除非您想编写一个指令,然后可以将其附加到代码中的html标记,否则我建议在相关控制器中添加一个$watchColletion:
在angularJs网站上有一个很好的例子:https://docs.angularjs.org/api/ng/type/$rootScope.Scope
考虑到angularJs是双向绑定的,您对currentpicks集合所做的更改应该自动反映在您的视图中。如果他们没有,你可以随时打电话给$scope.$apply();
如果要在值更改时执行方法,则始终可以实现如下内容:
function myCtrl($scope) {
    $scope.clicks = [];
    $scope.names = ['igor', 'matias', 'misko', 'james'];
    $scope.dataCount = 4;
    $scope.blank = "Hello World";
    $scope.$watchCollection('names', function(newNames, oldNames) {
        if (newNames !== oldNames) {
            $scope.clicks.push(oldNames);
            $scope.dataCount = newNames.length;    
        }
    });
    $scope.doSomething = function(){
        $scope.names.pop();
        $scope.$digest();
    }
}这样,您就可以在进程的中间执行任何您想要的自定义代码。
Fiddler在这里:https://jsfiddle.net/20p96wv7/
发布于 2015-09-30 13:46:27
<tr ng-class="{'myCssClass': addAwesomeStyle(p.psn, $index)}" ng-repeat="p in currentpicks |filter:searchQuery | orderBy:['mcu','psn','litm']" bs-pop>
                                <td>{{$index+1}}</td>
                                <td>{{p.mcu}}</td>
                                <td>
                                    {{p.psn}}在你的控制器里:
$scope.addAwesomeStyle = function(psn, index){
    var prev = $scope.data[index - 1];
    // compare stuff...
    return true;
}这应该能帮你解决问题!事实上,我可能不会这样做,似乎有点倒退。我会试着在前面应用造型规则。这是除非你要改变事情的进展!
https://stackoverflow.com/questions/32865980
复制相似问题