javascript - 图像占位符与 Angular 1 中的不同

标签 javascript angular

我想使用 Angular 2 显示占位符图像。

在 Angular 1 中,我们可以使用 ng-src,例如:

<img src="img/placeholder.jpg" ng-src="{{actualone.img}}">

但我不确定在 Angular 2 中执行此操作的正确方法是什么。

有什么想法吗?

谢谢!

最佳答案

我最喜欢的 javascript 简写之一是 or 运算符 ||

你可以这样使用它:var someVar = var1 ||变量 2someVar 将具有 var1 的值,除非它是 undefined,然后它将具有 var2 的值。

因此,在您的情况下,您可以将 src 属性绑定(bind)到 imageUrl || placeholderUrl

<img [src]="imageUrl || placeholderUrl| />

Here is a plunker

更新

用于在图像上方放置一个占位符,直到它完成加载。
我是通过以下方式实现的:

<img (load)="$event.target.src=imageUrl" src="imageUrl" [src]="placeholderImage" />

免责声明:

我不肯定这个“hack”会在所有浏览器中工作和/或在未来的 angular2 版本中继续工作。

说明:

首先我们为 src 属性设置一个初始 url,它将自动开始加载。然后,angular 将绑定(bind)到我们将设置为占位符图像的 [src],然后在我们分配给 src 的原始图像完成加载后。 img 将触发一个 onLoad 事件,我们捕获该事件并将 src 重新分配给原始图像。

Here is a plunker

关于javascript - 图像占位符与 Angular 1 中的不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36536207/

相关文章:

javascript - 新的 Array(9) 语法的目的是什么?

javascript - Typescript 中具有 Null 和 Nullable Object 声明的联合类型之间的区别

javascript - 使用 Bootstrap 和 ng-bootstrap 好吗?

javascript - 如何从该 API 获取值?

javascript - .datepicker() 函数在第二次单击时起作用

javascript - 如何通过selenium调用JS文件

javascript - 如何使用 jQuery 验证插件在 keyup 上验证非表单元素中的输入

Angular 2 : How to use Observable filter

node.js - MSBuild 是否有必要在 Angular2 的依赖项(在 node_modules 中)中转换 .ts 文件以使 Angular2 工作?

javascript - 并发链式 JavaScript promise