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

根据模型数据有条件地更改img src

白博易
2023-03-14
问题内容

我想使用Angular将模型数据表示为不同的图像,但是在找到“正确”的方法时遇到了一些麻烦。表达式的Angular
API文档说不允许使用条件表达式…

简化很多,通过AJAX提取模型数据,并向您显示路由器上每个接口的状态。就像是:

$scope.interfaces = ["UP", "DOWN", "UP", "UP", "UP", "UP", "DOWN"]

因此,在Angular中,我们可以通过以下方式显示每个接口的状态:

<ul>
  <li ng-repeat=interface in interfaces>{{interface}}
</ul>

但是-我想显示一个合适的图像,而不是模型中的值。遵循这个基本思想的东西。

<ul>
  <li ng-repeat=interface in interfaces>
    {{if interface=="UP"}}
       <img src='green-checkmark.png'>
    {{else}}
       <img src='big-black-X.png'>
    {{/if}}
</ul>

(我认为Ember支持这种类型的构造)

当然,我可以修改控制器以根据实际的模型数据返回图像URL,但这似乎违反了模型和视图的分离,不是吗?

该SO发布建议使用伪指令来更改bg-img源。但是然后我们回到将URL放入JS而不是模板中的方式…

所有建议表示赞赏。谢谢。

请原谅任何错别字


问题答案:

而不是src你需要ng-src

AngularJS视图支持二进制运算符

condition && true || false

所以你的img标签看起来像这样

<img ng-src="{{interface == 'UP' && 'green-checkmark.png' || 'big-black-X.png'}}"/>

注意 :这里的引号(即’green-checkmark.png’)很重要。没有引号就无法使用。

在这里查看代码
(打开开发工具以查看生成的HTML)



 类似资料:
  • 我有两个熊猫数据帧:一个带有ID和值,另一个将ID与其他ID映射。目标是创建一个基于df1的新数据帧。它循环遍历df1中的每个源ID,并查看df2(一个映射df)以查找源ID中的匹配项。如果找到匹配项,将创建与df1中的值相同的新行。因此,如果找到多个匹配项,循环将创建多个行(例如id A和C)。如果只找到一个匹配项(例如id B),则只创建一行。 下面的代码完全符合我的要求,但速度非常慢。在我的

  • 问题内容: 我想获取基于条件选择的数据帧行数。我尝试了以下代码。 输出: 输出显示数据帧中每一列的计数。相反,我需要获得满足以上所有条件的单一计数?这该怎么做?如果您需要有关我的数据框的更多说明,请告诉我。 问题答案: 您要的是所有条件都为真的条件,所以答案是len,除非我误解了您的要求

  • 问题内容: 我有一张地图,如下所示: 如您所见,将有一个名为split的最终常量,其值为40 我必须实现逻辑,例如,如果映射的值达到40,那么从计算开始的映射的第一个键以及恰好达到40的键也将被选择为min和max,如上所述。 。 除此之外,如果总和超过40,则需要格外小心。如果是,我们必须忽略它,并且在最小值和最大值相等的情况下,将先前的值本身作为最小值和最大值。 请建议我如何使用Java和。乡

  • 问题内容: 这个问题似乎让人难以置信,但我无法弄清楚。我知道您可以在python中检查数据类型,但是如何根据数据类型设置条件呢?例如,如果我必须编写一个对字典/列表进行排序并将所有整数加起来的代码,那么如何隔离搜索以仅查找整数? 我想一个简单的例子看起来像这样: 那么对于第3行,我将如何设置这样的条件? 问题答案: 怎么样, 但更干净的方法就是

  • 我有一个数据框,比如说一些投资数据。我需要根据某些条件(比如说,U类型)从这个数据帧中提取数据。有许多可用的基金类型,我只需要提取与特定基金类型匹配的数据。 funding_type有风险、种子、天使、股权等价值。我只需要数据匹配资金类型比如种子和天使 我试着跟着 这里MF1是我的数据帧。这将提供与种子基金类型相关的所有数据 我需要的条件有点像 MF1[MF1['funding_round_typ

  • 我有一个基于REST的java web应用程序,使用Java8,MyBatis 3.4.5部署在Wildfly application Server上。在这个应用程序中,我有一个DB jar模块,它管理从/到应用程序/DB的所有查询、连接、对象。我所有其他必须与DB交互的Java代码(控制器、方法、类)都使用这个DB模块。 作为标准的MyBatis实现,我在DB模块中有这些包 my/app/oj/