Angular 环境下 Font Awesome 图标动态 title 提示框未正常显示问题
Angular Font Awesome 动态绑定提示框不显示解决方法
核心原因
- 直接绑定的
title属性仅作用于<fa-icon>自定义标签的宿主元素,未透传到内部实际渲染的可见SVG图标元素上 ng-reflect-title是Angular开发模式下的调试属性,仅用于展示输入值的绑定状态,不代表属性已实际生效到可交互元素上
可行解决方案
方案1:使用Font Awesome组件内置title输入属性(推荐)
@fortawesome/angular-fontawesome组件原生提供title输入参数,会自动将传入的动态文本插入到SVG内部的<title>标签,可正常触发浏览器原生提示:
<!-- 其中dynamicTitle为你的动态提示字符串变量 --> <fa-icon [icon]="faYourIcon" [title]="dynamicTitle" ></fa-icon>
方案2:强制绑定原生title属性
如果需要将title直接挂载到<fa-icon>宿主元素上,添加attr.前缀明确声明为原生属性绑定即可:
<fa-icon [icon]="faYourIcon" [attr.title]="dynamicTitle" ></fa-icon>
方案3:使用自定义提示框组件
如果项目中使用如Angular Material Tooltip等自定义提示组件,直接绑定对应指令的输入参数即可,无需额外处理属性透传:
<fa-icon [icon]="faYourIcon" [matTooltip]="dynamicTitle" ></fa-icon>
内容的提问来源于stack exchange,提问作者Bravo
相关产品推荐
相关产品推荐

