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

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日

悬赏问题

  • ¥20 关于 openpyxl 处理excel文件地问题
  • ¥15 MS中不知道高分子的构型怎么构建模型
  • ¥60 QQOP数据,什么是op数据号,怎么提取op数据!能不能大量提取(语言-c语言)
  • ¥15 matlab代码 关于微分方程和嵌套的分段函数。
  • ¥15 onlyoffice编辑完后立即下载,下载的不是最新编辑的文档
  • ¥15 求caverdock使用教程
  • ¥15 Coze智能助手搭建过程中的问题请教
  • ¥15 12864只亮屏 不显示汉字
  • ¥20 三极管1000倍放大电路
  • ¥15 vscode报错如何解决