<template>
  <div>
    <ul>
      <li v-for="item in cp" v-if="!nameExists[item.name]">
        <h3>{{ item.name }}</h3>
        <p>{{ item.jj }}</p>
        <img :src="item.titlepic">
      </li>
    </ul>
  </div>
</template>
<script>
export default {
  data() {
    return {
      cp: [
        {
          name: '拉网铝单板',
          url: '#',
          jj: '该产品是室内天花吊顶的个性化产品,工艺先进的拉网技术,造就了细腻的网格。搭配下来,会营造出视觉通透的效果,并且能在一定程度上降低噪音污染,金属铝拉网以优质铝合金为主要材料,按客户提供设计尺寸、形状和构造形式经过工',
          titlepic: '/d/file/p/2023/05-30/d7bf16ab5659c851eb93c87a2274feac.jpg',
        },
        {
          name: '浮雕铝单板',
          url: '#',
          jj: '铝单板雕刻花格,立体铝单板雕刻花格已不再是一种简单的装修材料,而是一种精美的艺术装饰品,浮雕铝单板成为代表富贵身价,豪华气派的风景线!采用技术研制开发的铜艺整体雕花护栏。铝单板雕刻护栏、多种系列产品,以它独',
          titlepic: '/d/file/p/2023/05-30/a4c020b60c47669ae664f57e40726e70.jpg',
        },
      ],
      nameExists: {},
    };
  },
  created() {
    // 记录每个名称是否已经出现过
    this.cp.forEach((item) => {
      if (this.nameExists[item.name]) {
        this.nameExists[item.name] = true;
      } else {
        this.nameExists[item.name] = false;
      }
    });
  },
};
</script>
<p>在created钩子函数中,使用forEach循环遍历cp数组,如果名称已经出现过,则在nameExists对象中记录为true,否则记录为false。在模板中,使用v-if判断当前名称是否已经出现过,如果已经出现过,则不输出此项。</p>
Vue.js 如何使用 v-for 和 v-if 过滤数组中的重复值

原文地址: https://www.cveoy.top/t/topic/omJr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录