加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-17 09:05:36 所属栏目:安全 来源:网络整理
导读:我想使用Angular代表模型数据作为不同的图像,但有一些麻烦找到“正确”的方式来做。 Angular API docs on expressions表示不允许使用条件表达式… 简化很多,模型数据通过AJAX获取并显示路由器上每个接口的状态。就像是: $scope.interfaces = ["UP","DOWN"
我想使用Angular代表模型数据作为不同的图像,但有一些麻烦找到“正确”的方式来做。 Angular API docs on expressions表示不允许使用条件表达式…

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

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

因此,在Angular中,我们可以显示每个接口的状态,如:

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

BUT – 而不是来自模型的值,我想显示一个合适的图像。一些遵循这个一般的想法。

<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,但似乎违反了模型和视图的分离,没有?

This SO Posting建议使用指令更改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’)在这里很重要。它不会工作,没有引号。

plunker here(开放工具查看生成的HTML)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读