javascript - 聚合物 3 相对路径
问题描述
我想将聚合物元素从聚合物 2 迁移到聚合物 3。
聚合物元素使用带有 .svg 文件的文件夹的相对路径。
const url = this.resolveUrl('./icons/' + this.icon + '.svg');
问题是旧的组件文件是一个 .html 文件,所以如果你包含它,脚本部分中的相对路径总是相同的。
现在组件文件是一个 javascript 文件,因此相对路径 (.) 是包含 javascript 文件的文件的路径。
解决方案
要解决此问题,请将以下 getter 方法添加到您的元素类:
static get importMeta() {
return import.meta;
}
加载元素时,上面的 getter 会分配importPath
元素的属性。resolveUrl
现在将基于importPath
而不是基于主文档来解析相对路径。
顺便说一句,您还可以importPath
在数据绑定中使用,如下所示:
<img src$="[[importPath]]/icons/[[icon]].png">
有关为什么 Polymer 默认不重写模板中的 URL 的更多信息,请参阅有关 DOM 模板的文档。
(顺便说一句,看起来importPath
该页面上的内容需要更新。我提出了一个问题,用我上面概述的最新信息更新网站。)
希望有帮助
推荐阅读
- icons - 字体真棒图标只适用于野生动物园
- hyperledger-fabric-sdk-java - Fabric-java-sdk 未找到 org.hyperledger.fabric.protos.peer.FabricProposalResponse
- typescript - 如何使用 inversify js 和通宵 js?
- r - 直接调用对象时获取传递给`print`的对象名称(不表示`print`函数)
- c# - HtmlAgilityPack - 如何在重定向后获取 url 路径
- php - 如果在 PHP 中没有发生用户活动,则超时
- python - 将 xlabels 转换为破折号中的字符串
- c - 如何检测程序是否以任何方式停止
- spring - 获取列表大小的有效方法
- ggplot2 - 按工作日和组绘制日期