【问题标题】:Vue.js v-for on list items, looking up array object by idVue.js v-for 在列表项上,通过 id 查找数组对象
【发布时间】:2021-03-17 06:23:46
【问题描述】:

所以我有一个来自 json 的对象数组,看起来像这样:

我正在生成一个<ul>,并且对于每个<li>,我都从一个 API 获得一个 ID:

<ul>
  <li v-for="genre in movie.genre_ids">
    {{ genre }} // 19
  </li>
</ul>

我不想显示数字,我想要类型的名称,它是包含该 ID 的对象的兄弟。

我该怎么做?

【问题讨论】:

    标签: javascript vue.js vuejs2 vue-component v-for


    【解决方案1】:

    将您的 genres 数组转换为键为 ID 的对象:

    computed: {
      genresFormatted() {
        const genres = {};
        this.genres.forEach(genre => {
          genres[genre.id] = genre.name;
        });
        return genres;
      }
    }
    

    现在在循环时获取name 属性要容易得多:

    <li v-for="id in movie.genre_ids" :key="id">
      {{ genresFormatted[id] }}
    </li>
    

    【讨论】:

      猜你喜欢
      • 2020-04-06
      • 2022-11-10
      • 2020-02-29
      相关资源
      最近更新 更多