vue中使用use引入的svg怎么添加title

项目框架:

vue2

使用场景:

我们项目中的svg文件比较多,每个都copy里面的svg代码的话,会造成需要写很多个vue文件,于是乎当时采用了use的方式引入了svg文件

代码如下(当然中间省去了其他步骤,use方式引入svg不是本篇重点)

html 复制代码
<template>
  <svg :class="svgClass" aria-hidden="true">
    <use :xlink:href="iconName"/>
  </svg>
</template>
遇到的问题

每个icon好像默认使用了文件名称作为title,也就是悬浮上去提示的文字。所以需要添加title

svg直接添加title是无效的,必须使用svg自己的title标签,直接添加到use的外面也是无效的,如下示例

html 复制代码
<!-- 无效代码1 -->
<template>
  <svg :class="svgClass" aria-hidden="true" :title="title">
    <use :xlink:href="iconName"/>
  </svg>
</template>

<!-- 无效代码2 -->
<template>
  <svg :class="svgClass" aria-hidden="true">
    <use :xlink:href="iconName" :title="title"/>
  </svg>
</template>

<!-- 无效代码3 -->
<template>
  <svg :class="svgClass" aria-hidden="true">
    <title v-if="title">{{ title }}</title>
    <use :xlink:href="iconName"/>
  </svg>
</template>
最后的实现

需要加在use的里面

html 复制代码
<template>
  <svg :class="svgClass" aria-hidden="true">
    <use :xlink:href="iconName">
      <title v-if="title">{{ title }}</title>
    </use>
  </svg>
</template>
相关推荐
孤酒独酌14 分钟前
一次断网重连引发的「模块加载缓存」攻坚战
前端
jinzeming99918 分钟前
Vue3 PDF 预览组件设计与实现分析
前端
NuLL19 分钟前
全场景智能克隆工具:超越 JSON.parse(JSON.stringify())
javascript
编程小Y19 分钟前
Vue 3 + Vite
前端·javascript·vue.js
GDAL28 分钟前
前端保存用户登录信息 深入全面讲解
前端·状态模式
大菜菜35 分钟前
Molecule Framework -EditorService API 详细文档
前端
Anita_Sun36 分钟前
😋 核心原理篇:线程池的 5 大核心组件
前端·node.js
灼华_40 分钟前
Web前端移动端开发常见问题及解决方案(完整版)
前端
_请输入用户名41 分钟前
Vue3 Patch 全过程
前端·vue.js
孟祥_成都41 分钟前
nest.js / hono.js 一起学!字节团队如何配置多环境攻略!
前端·node.js