You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Polymer 3.0中在app-drawer添加图片的问题求助

解决Polymer中app-drawer里图片显示及iron-image引入问题

嘿,刚第一天学Polymer就碰到这个小坎儿太正常了,我来帮你一步步搞定它~

先解决原生<img>标签不生效的问题

首先,<img>标签没法显示大概率不是标签本身的问题,先从这几个方向排查:

  • 路径是否正确:在Polymer组件的Shadow DOM里,图片路径是相对于当前组件的HTML文件的。比如你的组件文件在src/my-app.html,图片放在src/images/avatar.png,那路径应该写成./images/avatar.png,别用绝对路径或者错误的相对层级。
  • 样式是否遮挡:检查app-drawer或者父元素有没有设置overflow: hidden、display: none这类样式,或者图片本身有没有被设置成width: 0、height: 0导致看不见。
  • 基础示例测试:先写个极简的测试代码确认图片能正常加载:
<app-drawer opened>
  <!-- 替换成你自己的图片路径 -->
  <img src="./test-img.png" alt="测试图" style="width: 150px; height: 150px;">
</app-drawer>

再搞定iron-image的引入问题

你说iron-image只有HTML文件没法引入,大概率是搞混了Polymer版本的导入方式:

如果是Polymer 2.x及更早版本(使用HTML Imports)

  1. 先确保已经安装了iron-image:
# 用bower安装(旧版本Polymer常用的包管理)
bower install --save PolymerElements/iron-image
  1. 在你的组件HTML文件顶部导入iron-image的HTML文件:
<link rel="import" href="../bower_components/iron-image/iron-image.html">
  1. 然后在app-drawer里直接使用:
<app-drawer opened>
  <iron-image src="./images/avatar.png" sizing="cover" style="width: 150px; height: 150px;"></iron-image>
</app-drawer>

如果是Polymer 3.x版本(使用ES Modules)

  1. 用npm安装iron-image:
npm install --save @polymer/iron-image
  1. 在你的组件JS文件(或者模块脚本里)导入对应的JS文件:
import '@polymer/iron-image/iron-image.js';
  1. 之后就可以在模板里正常使用<iron-image>标签了~

小提醒

如果还是不行,可以先检查浏览器控制台有没有报错,比如路径404、组件未注册这类信息,这些报错往往能直接帮你定位问题。

内容的提问来源于stack exchange,提问作者darkstartcoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:47:48