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

如何在Nuxt.js中展示指定JSON数据内的Qualified等状态数据?

在Nuxt.js中展示指定JSON字段数据

1. 定义或获取数据

首先把目标JSON数据存入组件,或者从后端接口获取。如果是硬编码数据,直接在data中定义:

export default {
  data() {
    return {
      recruitmentStats: [{
        "Qualified": [{ "_id": null, "count": 2, "percentagedata": 0.63 }],
        "Submitted": [{ "_id": null, "count": 227, "percentagedata": 72.29 }],
        "Interviewed": [{ "_id": null, "count": 58, "percentagedata": 18.47 }],
        "Selections": [{ "_id": null, "count": 4, "percentagedata": 1.27 }],
        "Placements": [{ "_id": null, "count": 16, "percentagedata": 5.09 }]
      }]
    }
  }
}

如果数据来自API,用asyncData异步获取:

export default {
  async asyncData() {
    const response = await fetch('你的后端API地址')
    const recruitmentStats = await response.json()
    return { recruitmentStats }
  }
}

2. 在模板中渲染数据

直接指定字段渲染

适合字段固定的场景,写法直观:

<template>
  <div class="stats-container">
    <h2>招聘流程统计</h2>
    <ul class="stats-list">
      <li>
        <strong>Qualified:</strong> 数量 {{ recruitmentStats[0].Qualified[0].count }},占比 {{ recruitmentStats[0].Qualified[0].percentagedata }}%
      </li>
      <li>
        <strong>Submitted:</strong> 数量 {{ recruitmentStats[0].Submitted[0].count }},占比 {{ recruitmentStats[0].Submitted[0].percentagedata }}%
      </li>
      <li>
        <strong>Interviewed:</strong> 数量 {{ recruitmentStats[0].Interviewed[0].count }},占比 {{ recruitmentStats[0].Interviewed[0].percentagedata }}%
      </li>
      <li>
        <strong>Selections:</strong> 数量 {{ recruitmentStats[0].Selections[0].count }},占比 {{ recruitmentStats[0].Selections[0].percentagedata }}%
      </li>
      <li>
        <strong>Placements:</strong> 数量 {{ recruitmentStats[0].Placements[0].count }},占比 {{ recruitmentStats[0].Placements[0].percentagedata }}%
      </li>
    </ul>
  </div>
</template>

<style scoped>
.stats-container {
  padding: 16px;
}
.stats-list {
  list-style: none;
  padding: 0;
}
.stats-list li {
  margin: 8px 0;
  padding: 8px;
  border-bottom: 1px solid #f0f0f0;
}
</style>

动态遍历字段渲染

如果后续字段可能增减,用v-for遍历更灵活,无需修改模板:

<template>
  <div class="stats-container">
    <h2>招聘流程统计</h2>
    <div 
      v-for="(statData, statName) in recruitmentStats[0]" 
      :key="statName" 
      class="stat-item"
    >
      <strong>{{ statName }}:</strong> 数量 {{ statData[0].count }},占比 {{ statData[0].percentagedata }}%
    </div>
  </div>
</template>

<style scoped>
.stats-container {
  padding: 16px;
}
.stat-item {
  margin: 8px 0;
  padding: 10px;
  background-color: #f8f9fa;
  border-radius: 4px;
}
</style>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 08:45:46