当前位置: 首页 > 面试题库 >

一个元素是否可以在ng-class中具有多个单独的三元表达式?

鲁品
2023-03-14
问题内容

我正在尝试将以下两个ng-class三元表达式组合为一个ng-class(以便我既可以通过btn-success /
danger类控制颜色,也可以通过width-small / medium / wide类控制按钮div的宽度)

<div class="btn" ng-class="(rate > 0) ? 'btn-success' : 'btn-danger'">{{rate}}</div>
<div class="btn" ng-class="(priority == 'low') ? 'width-small' : (priority == 'medium') ? 'width-medium' : 'width-wide'">{{rate}}</div>

我意识到我可以按照以下方式做一些事情;但是,我想利用1.1.5中可用的三元表达式

<div class="btn" ng-class="{'btn-success': rate > 0, 'btn-danger': rate <= 0, 'width-small': priority == 'low', 'width-medium': priority == 'medium', 'width-wide': prioity == 'high'}">{{rate}}</div>

用空格分隔表达式对我不起作用,用逗号分隔表达式也不对 ng-class

感谢您的协助,帮助您确定是否/如何在一个单一的表达式中包含多个三元表达式 ng-class


问题答案:

对于任何寻求答案的人:是的,这确实是可能的,而且如上所述,可读性令人怀疑。

<div ng-class="(conversation.read ? 'read' : 'unread') + ' ' + (conversation.incoming ? 'in' : 'out')"></div>

从ngClass文档中:

指令以三种不同的方式运行,具体取决于表达式求值的三种类型中的哪一种:

  1. 如果表达式的计算结果为字符串,则该字符串应为一个或多个以空格分隔的类名。

  2. 如果表达式的计算结果是一个数组,则该数组的每个元素>应该>是一个或多个以空格分隔的类名的字符串。

  3. 如果表达式的计算结果是对象,则对于具有真实值的对象的每个键值对,将对应的键用作类>名称。

选项1在这里适用。

根据我的理解,使用此方法将导致2次监视,而使用对象表示法将导致4次监视,但是我对此可能是错的。



 类似资料:
  • 问题内容: 是否可以实现这样的代码:- 我有两个数组,我想在单行中显示它们。 PS:我不要求语法。我正在寻找实现这一目标的逻辑 谢谢 就像:-“ http://jsfiddle.net/6ob5bkcx/1/ ” 问题答案: 您应该在控制器中而不是在视图中执行此操作。将dataValues映射到键/值对对象,并使用索引引用values数组。假定每个数据键都有一个对应的值键。 控制器: 视图:

  • 问题内容: 我有一个在HashMap上使用的迭代器,并且保存并加载了该迭代器。有没有办法用迭代器在HashMap中获取上一个密钥?(java.util.Iterator) 更新资料 我将其另存为Red5连接中的属性,然后将其重新加载以在我停止的地方继续工作。 另一个更新 我正在遍历HashMap的键集 问题答案: 正如其他人指出的那样,它并不直接,但是例如,如果您需要访问一个先前的元素,则可以轻松

  • 我是最新的办公室编程人员。我找不到任何描述运行中可能放置多少文本元素的文档。例如,我生成了这个xml,并将其直接放到“document.xml”中: 文档打开时没有错误。但在MS Word中保存文档后,此xml将替换为: 我的问题:用户有没有办法生成几个

  • 我试图通过一个元素在表中找到一行,然后在该行中找到一个元素并返回一个属性(或者做其他事情)。 这里的JavaSelenium代码查找一个表体。getText()准确地打印出每行中的文本,但s.findElement(xpath)除外。getText()将返回唯一的\u单元格\u名称,无论行是否包含该名称。并且if语句将在每个循环中输入。 我怎么修理它?为什么getText()返回正确的文本,但在同

  • 问题内容: 我是React的新手,我想知道这里的标准是什么。 想象一下,我有一个像这样的反应路由器: 现在我想删除如果设置为的两条路线,因此一种理智的做法如下所示: 但是有两条路线,React返回错误: 表达式必须具有一个父元素。 我不想在这里使用多个ifs。React首选的处理方式是什么? 问题答案: 将它们放在一个数组中(也分配键): 使用最新的React版本,您也可以这样尝试 :

  • 问题内容: 我正在尝试将for循环转换为功能代码。我需要展望一种价值,也要展望一种价值。可以使用流吗?以下代码将罗马文本转换为数字值。不确定带有两个/三个参数的reduce方法是否可以在这里提供帮助。 问题答案: 不,至少在流中使用流是不可能的。流API从处理元素的顺序中抽象出来:流可以并行或以相反顺序处理。因此,流抽象中不存在“下一个元素”和“上一个元素”。 您应该使用最适合此工作的API:如果