首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用源代码上的v-bind特性内联Vue中的SVG文件

使用源代码上的v-bind特性内联Vue中的SVG文件
EN

Stack Overflow用户
提问于 2019-03-19 17:11:10
回答 1查看 3.3K关注 0票数 2

最终目标:包含文件中的SVG图标,并且可以在其上使用CSS (主要是在fill参数上)。这似乎意味着有一种方法可以在Vue模板中内联SVG文件。

我已经找到了很多涉及到webpack加载器(vue-svg-inline-loadervue-svg-loader和其他两三个)的解决方案,但我也希望能够通过在source参数上使用v-bind指令来动态选择要加载的文件。类似于:

代码语言:javascript
复制
<img :src="`path/to/${file}.svg`" />

代码语言:javascript
复制
<custom-component :src="`path/to/${file}.svg`" />

而似乎所有的webpack装载器都不允许这样做。我没有找到具有此功能的vue插件。

我的项目是一个quasar-framework项目,如果这对我有帮助的话。

EN

回答 1

Stack Overflow用户

发布于 2019-03-19 19:02:50

你可以这样做:

代码语言:javascript
复制
<template v-html="svgFile"></template>
...
computed:{
  svgFile(){
    require(`path/to/${this.file}.svg`)
  }
}

但是你也需要配置你的webpack来输出你的svg作为原始的html。使用一些插件,如svg-inline-loader或任何你想要的。See more

代码语言:javascript
复制
{ test: /\.svg$/, loader: 'svg-inline-loader' }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55237192

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档