javascript - 如何在 Polymer 中设置后备图像

标签 javascript image polymer

我正在根据项目数据动态加载图像。然而,并非所有元素都有图像。当滚动浏览 dom-repeat 时,我在 DevTools 中收到很多 404 Not (Found) 错误。

如何设置后备图像?

有没有办法在发送 get 请求之前预取路由以查看其是否有效,这样日志就不会抛出大量错误?

<img id="img" src="[[item.src]]" onerror="dothis">

...

dothis() {
  console.log('do this');
  this.$.id.src = 'path/to/fallback.jpg';
}

这个onerror函数将“Uncaught ReferenceError: dothis is not Defined”写入日志。

最佳答案

onerror="dothis"

可能不起作用,因为您尝试将 PolymerElement 的方法绑定(bind)到普通 HTML 事件属性,该属性不知道组件的上下文(它搜索名为 的全局标识符>dothis)与 Polymer on-* 自定义元素属性发生的情况不同,这些属性在 native img 元素中不可用。

出于您的目的,您可以考虑使用 Polymer 的 iron-image:其 placeholder 属性

can be set to a URL (preferably a data-URI, for instant rendering) for an placeholder image

(来自 iron-image documentation )。

<iron-image
    preload
    placeholder="./loading.png">
</iron-image>

preload 确保在 src 更改之间以及发生故障时也显示占位符图像。

关于javascript - 如何在 Polymer 中设置后备图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50721325/

相关文章:

javascript - 如何迭代似乎已分页的嵌套对象数组?

c# - 您可以在 .NET 中打开 JPEG、添加文本并重新保存为 JPEG 吗?

javascript - 使用 JavaScript 更改纸质按钮的文本( polymer 1.0)

javascript - polymer :所选项目未显示在纸张列表框中

javascript - 游戏得分计数器

javascript - 我可以将 DOM 视为树形图吗?

javascript - 如何定位CSS类名的一部分?

php - 保存图像仅在登录时可用

c# - 在 C# 类库的弹出窗口中显示图像

javascript - 我的 &lt;script&gt; 应该在我的 <dom-module> 内吗?