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>
相关推荐
美酒没故事°5 分钟前
npm源管理器:nrm
前端·npm·npm源
用户22152044278006 分钟前
vue3组件间的通讯方式
前端·vue.js
三十_A24 分钟前
【实录】使用 patch-package 修复第三方 npm 包中的 Bug
前端·npm·bug
下位子32 分钟前
『AI 编程』用 Claude Code 从零到一开发全栈减脂追踪应用
前端·ai编程·claude
tyro曹仓舒32 分钟前
Vue单文件组件到底需不需要写name
前端·vue.js
用户479492835691532 分钟前
面试官:讲讲2FA 双因素认证原理
前端·后端·安全
乐影33 分钟前
TS 模板字符串类型:从基础到进阶的类型编程魔法
前端·typescript
龙在天34 分钟前
CSS 属性值的计算与过程
前端
云鹤_35 分钟前
【Amis源码阅读】组件注册方法远比预想的多!
前端·低代码
xinfei37 分钟前
ES6 新特性 从 ECMAScript 2015(ES6)到 ECMAScript 2025
前端