前端OnTheRun 2023-06-28 21:30 采纳率: 50%
浏览 24

vue或者uniapp有哪些API可以达到原生JS动态绑定css样式的效果?

原生JS中的一个业务逻辑如下:
点击li列表,对应的卡牌翻转过来,即:
每个li绑定一个点击事件,然后翻转

需求:让这段逻辑在vue或者uniapp项目中实现

  • 写回答

3条回答 默认 最新

  • 黛琳ghz 2022年度博客之星前端领域TOP 8 2023-06-28 21:56
    关注

    创建一个名为Card的组件,用于表示每个卡片:

    <template>
      <div class="card" :class="{ flipped: isFlipped }" @click="flipCard">
        <div class="front">正面</div>
        <div class="back">背面</div>
      </div>
    </template>
    
    <script>
    export default {
      data() {
        return {
          isFlipped: false, // 卡片是否翻转
        };
      },
      methods: {
        flipCard() {
          this.isFlipped = !this.isFlipped;
        },
      },
    };
    </script>
    
    <style scoped>
    .card {
      width: 100px;
      height: 150px;
      perspective: 800px;
    }
    
    .card.flipped .front {
      transform: rotateY(180deg);
    }
    
    .card .front,
    .card .back {
      position: absolute;
      width: 100%;
      height: 100%;
      backface-visibility: hidden;
      transition: transform 0.6s;
    }
    
    .card .front {
      background-color: #ccc;
    }
    
    .card .back {
      background-color: #f00;
      transform: rotateY(180deg);
    }
    </style>
    

    在父组件中使用Card组件,并循环生成多个卡片:

    <template>
      <div>
        <Card v-for="index in cardCount" :key="index" />
      </div>
    </template>
    
    <script>
    import Card from "@/components/Card.vue";
    
    export default {
      components: {
        Card,
      },
      data() {
        return {
          cardCount: 5, // 卡片数量
        };
      },
    };
    </script>
    
    
    评论

报告相同问题?

问题事件

  • 创建了问题 6月28日

悬赏问题

  • ¥15 (标签-matlab)
  • ¥200 基于同花顺supermind的量化策略脚本编辑
  • ¥20 Html备忘录页面制作
  • ¥15 黄永刚的晶体塑性子程序中输入的材料参数里的晶体取向参数是什么形式的?
  • ¥20 数学建模来解决我这个问题
  • ¥15 计算机网络ip分片偏移量计算头部是-20还是-40呀
  • ¥15 stc15f2k60s2单片机关于流水灯,时钟,定时器,矩阵键盘等方面的综合问题
  • ¥15 YOLOv8已有一个初步的检测模型,想利用这个模型对新的图片进行自动标注,生成labellmg可以识别的数据,再手动修改。如何操作?
  • ¥30 NIRfast软件使用指导
  • ¥20 matlab仿真问题,求功率谱密度