You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue中动态渲染FontAwesome图标失败,如何排查代码逻辑问题?

存在的问题

  • 图标属性绑定错误:font-awesome-icon组件的:icon属性中,你写的['fab', 'temp']里的temp是固定字符串,不是动态取值,额外绑定的:temp属于无效自定义属性,FontAwesome组件不会识别该属性取值。
  • 工具方法逻辑错误:getIcon方法没有接收当前遍历的索引参数,内部仅定义了临时变量没有返回值,且重复做数组遍历属于冗余逻辑。
  • 数据对应关系缺失:当前代码中params数组为空,没有实际渲染数据,且要保证业务运行时params和icons数组长度一致,才能按索引正确匹配。

修复方案

你不需要额外编写映射方法,直接在模板遍历的时候用当前索引取icons数组的对应值即可,修复后的代码如下:

<template>
  <div class="items">
    <div class="item" v-for="(param, index) in params" :key="index">
      <font-awesome-icon :icon="['fab', icons[index]]" class="fab fa" />
      <h3 class="skills-title">{{ param.name }}.</h3>
      <p style="display: none">{{ param.description }}.</p>
    </div>
  </div>
</template>

<script>
export default {
  name: "PxSkillCard",
  data() {
    return {
      // 示例数据,实际按你的业务逻辑填充,保证和icons数组长度一致
      params: [
        {name: 'Laravel', description: 'PHP服务端框架'},
        {name: 'WordPress', description: '开源内容管理系统'}
      ],
      icons: ["laravel", "wordpress-simple"],
    };
  }
};
</script>

如果要避免索引匹配出错,更稳妥的写法是直接把图标名写到params数组的每个对象中,无需单独维护icons数组,避免两个数组顺序不一致导致的匹配错误。

内容的提问来源于stack exchange,提问作者Edgar Gc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 20:39:02