使用ng-functions时出现问题

时间:2015-09-15 12:13:34

标签: javascript html angularjs

所以我有3个html页面(有3个不同的角度控制器),每个页面都显示一个包含行的表,并且在每个页面上的行应该显示为红色或绿色(根据errorstate):

setRowColor

现在拥有3个ng-class方法(每个控制器中有一个)是没有意义的,但我也无法创建工厂服务,因为我无法在{{{{{{ 1}}。

所以我的想法是创建一个普通的JS函数,只使用class而不是ng-class,但这似乎与ng-repeat一起使用。

这是方法:

function setRowColor(col) {
    return {passed: col == '0', failed: col != '0'};
};

虽然我的样式表中有.passed.failed类。

有没有办法让class工作?或者有更好的方法来解决我的问题吗?

2 个答案:

答案 0 :(得分:0)

应在控制器的setRowColor中定义函数$scope

$scope.setRowColor = function() {
    ...
};

要仅保留此功能的一个定义,您应创建一个AppController,该body将设置在<body ng-controller="AppController"> ... 标记上:

AppController

$scope.country = []; for (var o in countryList) { if(o != 0){ $scope.country.push(countryList[o]); } } 中定义上述功能,您的问题应该修复。

答案 1 :(得分:0)

如何在ng-class中使用三元组呢?

<tr ng-class="case.errorStateId===0 ? 'passed' : 'failed'"
  ng-repeat-start="case in entries | filter:searchCase | orderBy:'-id' track by case.id">
    <td>{{case.name}}</td>
    ........
</tr>