javascript - 尝试使用 Angular.js 设置默认背景图片

标签 javascript angularjs angularjs-ng-repeat

我是 Angular.js 的新手,我遇到了一个问题。我正在使用 ng-repeat 遍历新闻列表。每个项目都有一个标题和正文,但会有一个可选的图片 url,将用作背景。

当存在 URL 时,我可以获得带有图片 URL 的新闻项目元素以显示。请参阅下面的示例代码。

<li class="news-item col-md-6" ng-repeat="announcement in news.announcements | limitTo:8" ng-style="{'background-image': 'url({{announcement.Url}})'}">

当announcement.Url 为NULL 或Undefined 时,我需要将announcement.Url 值设置为默认背景图片URL。不确定我该怎么做。

任何帮助将不胜感激。

谢谢!

最佳答案

<li class="news-item col-md-6" ng-repeat="announcement in news.announcements | limitTo:8" ng-style="{'background-image': 'url({{announcement.Url || \'path to default image\'}})'}">

{{}} 之间的任何内容都是 Angular 表达式(就初学者而言,类似于 javascript 本身)。您可以简单地包含 || 运算符(逻辑或),然后将默认图像的路径放在字符串中。如果 announcement.Url 为 null 或 undefined 则它将是“falsy”并且将使用 OR 条件的后半部分。

编辑:请注意,我对字符串定界符 (\') 进行了转义,因为它们已经嵌套在使用这些定界符的字符串中。

关于javascript - 尝试使用 Angular.js 设置默认背景图片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23944067/

相关文章:

javascript - Angular 在运行时选择下拉菜单时动态填充下拉菜单选项

javascript - 在模板中使用 Angular Reactive Forms .get() 方法会导致不必要的方法调用,如组件方法吗?

javascript - translateZ 后鼠标向上/单击事件未触发

jquery - 单击按钮在 ionic 中使用 D3.js 显示其他图表

angularjs - 从 angularJS Controller 关闭当前选项卡

javascript - orderBy Angular 中的多个字段

javascript - 为了让浏览器知道始终使用缓存,我应该设置什么响应 header ?

javascript - .addClass 到元素添加样式然后删除,我该如何修复

javascript - 我的开关/外壳工作正常,但出现控制台错误 "Cannot read property ' name' of null"

javascript - 如何替换使用 ng-repeat 显示的数组中的对象?