我有一个简单的程序ng-repeat
,它显示得分列表以及正值或负值的值。
我想做的是当值是Negative时,显示红色的背景CSS类,而当Positive时,显示绿色的CSS类。但是,由于某种原因,我总是在页面上看到
红色的 CSS类。
HTML:
<tr ng-repeat="scores in Test" ng-class="{true: 'warning', false: 'ok'}[scores.Indicator == 'Negative']">
<td>Overall: {{ scores.Indicator }}</td>
</tr>
CSS:
.warning {
background: red;
}
.ok {
background: green;
}
我以前没有看过那种特殊的语法,其背后的原理是{true: 'warning', false: 'ok'}[scores.Indicator == 'Negative']
什么?
我ngClass
在这里使用的方式是
<tr ng-repeat="scores in Test" ng-class="{warning: (scores.Indicator == 'Negative'), ok: (scores.Indicator != 'Negative')}">
那样有用吗?
为了提高可读性,您也可以将其委托给控制器
<tr ng-repeat="scores in Test" ng-class="scoreClass(scores)">
$scope.scoreClass = function(scores) {
return scores.Indicator == 'Negative' ? 'warning': 'ok';
}
或者您可以创建一个指令
<tr ng-repeat="scores in Test" score-class scores="scores">
.directive('scoreClass', [function() {
return {
restrict: 'A',
scope: {
scores: '=',
},
link: function(scope, element, attrs, controller) {
scope.$watch('scores', function() {
element.removeClass('ok');
element.removeClass('warning');
if (scope.scores.Indicator == 'Negative') {
element.addClass('warning');
} else {
element.addClass('ok');
}
}, true);
}
};
}]);
问题内容: 我试图根据其类有条件地将指令应用于元素。 这是我的问题的一个简单案例,请参阅此小提琴中的结果。在此示例中,我使用了类名到with的布尔形式的映射。在我的实际情况下,我想使用函数的布尔结果。 标记: JS: 为什么不将指令应用于通过类的指令?我对AngularJS处理指令的顺序有误解吗? 我应该如何基于表达式的求值有条件地将指令应用于元素? 问题答案: 在编译过程 之后 ,只需在DOM上
我有三种型号 发票 演播室 R_studio_pay 关系如下 工作室有很多发票 工作室有一个R_studio_pay 我需要发票- 我试着使用whereHas studio- 但无法在何处应用条件。
问题内容: 我有一个表单,用于答复仅在为true 时才想显示的消息,每次单击答复按钮时,我都希望切换是否显示该表单。我怎样才能做到这一点? 问题答案: 您只需要在ng-click事件上切换“ isReplyFormOpen”的值
问题内容: 我试图使用 AngularJS 提供的和函数显示/隐藏一些HTML 。 **** 根据文档,这些功能的各自用法如下: ngHide – {表达式}-如果表达式为true,则分别显示或隐藏该元素。ngShow – {表达式}-如果表达式为真,则分别显示或隐藏该元素。 这适用于以下用例: 但是,如果我们使用对象中的参数作为表达式,则和被赋予正确的/ 值,但这些值不会被视为布尔值,因此始终返
问题内容: 我在.html页面中有一个下拉列表, 落下: 当用户选择一个值时,我想执行一个动作。因此,在我的控制器中,我做到了: 控制器: 但是更改下拉列表中的值不会触发代码: 结果,我在select标记上尝试了另一个带有:的方法 和 功能: 但是会存储到子作用域中。我读到父级无法访问子级作用域。 当下拉列表中的选定值更改时,执行某项操作的正确/最佳方法是什么?如果是方法1,我的代码在做什么错?
我有以下枚举。 假设我有一个传递枚举值的函数,比如 我想应用这个。平均值()。min()。基于枚举值的流上的max()方法。 我怎样才能做到这一点?我不想在某个函数中使用简单的开关函数,而是在这个返回语句中。 所以我想要一些 其中decidewhichmethodshouldbeeused()根据枚举决定使用哪个函数。