五个初级 Vue 算法题。

问题一

题目描述

请编写一个 Vue 组件,实现一个计数器。初始值为 0,每点击一次按钮,计数器的值增加 1,并且将计数器的值显示在页面上。

示例

复制代码
<template>
  <div>
    <p>计数器的值:{{ count }}</p>
    <button @click="increment">增加</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      count: 0
    };
  },
  methods: {
    increment() {
      this.count++;
    }
  }
};
</script>

问题二

题目描述

请编写一个 Vue 组件,实现一个简单的待办事项列表。用户可以输入待办事项的标题,点击按钮后,待办事项会被添加到列表中,并且列表中的每个待办事项都有一个删除按钮,点击删除按钮可以将该待办事项从列表中删除。

示例

复制代码
<template>
  <div>
    <input type="text" v-model="newTodo">
    <button @click="addTodo">添加</button>
    <ul>
      <li v-for="(todo, index) in todos" :key="index">
        {{ todo }}
        <button @click="deleteTodo(index)">删除</button>
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  data() {
    return {
      newTodo: '',
      todos: []
    };
  },
  methods: {
    addTodo() {
      if (this.newTodo) {
        this.todos.push(this.newTodo);
        this.newTodo = '';
      }
    },
    deleteTodo(index) {
      this.todos.splice(index, 1);
    }
  }
};
</script>

问题三

题目描述

请编写一个 Vue 组件,实现一个简单的计算器。计算器具有两个输入框和四个按钮,分别对应加法、减法、乘法和除法。用户在输入框中输入两个数字,点击不同的按钮可以执行相应的运算,并将结果显示在页面上。

示例

复制代码
<template>
  <div>
    <input type="number" v-model="num1">
    <input type="number" v-model="num2">
    <button @click="add">+</button>
    <button @click="subtract">-</button>
    <button @click="multiply">*</button>
    <button @click="divide">/</button>
    <p>结果:{{ result }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      num1: 0,
      num2: 0,
      result: 0
    };
  },
  methods: {
    add() {
      this.result = this.num1 + this.num2;
    },
    subtract() {
      this.result = this.num1 - this.num2;
    },
    multiply() {
      this.result = this.num1 * this.num2;
    },
    divide() {
      this.result = this.num1 / this.num2;
    }
  }
};
</script>

问题四

题目描述

请编写一个 Vue 组件,实现一个简单的倒计时器。用户可以输入倒计时的时间(单位为秒),点击开始按钮后,倒计时开始,页面上显示剩余时间,当倒计时结束时,页面上显示倒计时结束的提示。

示例

复制代码
<template>
  <div>
    <input type="number" v-model="seconds">
    <button @click="start">开始</button>
    <p v-if="counting">剩余时间:{{ remainingTime }} 秒</p>
    <p v-else>倒计时结束!</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      seconds: 0,
      counting: false,
      remainingTime: 0
    };
  },
  methods: {
    start() {
      this.counting = true;
      this.remainingTime = this.seconds;
      const timer = setInterval(() => {
        this.remainingTime--;
        if (this.remainingTime === 0) {
          clearInterval(timer);
          this.counting = false;
        }
      }, 1000);
       }
  }
};
</script>

问题五

题目描述

请编写一个 Vue 组件,实现一个简单的图片轮播器。组件接收一个图片数组作为参数,然后循环播放这些图片。用户可以点击按钮切换到下一张或上一张图片。

示例

复制代码
<template>
  <div>
    <button @click="previous">上一张</button>
    <img :src="currentImage" alt="轮播图">
    <button @click="next">下一张</button>
  </div>
</template>

<script>
export default {
  props: {
    images: {
      type: Array,
      required: true
    }
  },
  data() {
    return {
      currentIndex: 0
    };
  },
  computed: {
    currentImage() {
      return this.images[this.currentIndex];
    }
  },
  methods: {
    previous() {
      this.currentIndex = (this.currentIndex - 1 + this.images.length) % this.images.length;
    },
    next() {
      this.currentIndex = (this.currentIndex + 1) % this.images.length;
    }
  }
};
</script>
相关推荐
企业数字化笔记9 小时前
视频人体姿态怎么做三维可视化?2D关键点、深度局限与技术选型
人工智能·算法·音视频
paopaokaka_luck9 小时前
宠物门店经营管理系统(销售与库存联动、进货自动记账、 退换与退款关联、员工个人业绩、ECharts 经营分析、滞销识别与客户分层、宠物档案年龄计算)
前端·javascript·spring boot·mysql·echarts·mybatis·1024程序员节
?abc!10 小时前
(数组)581. 最短无序连续子数组
数据结构·算法·leetcode
paopaokaka_luck12 小时前
心理咨询管理系统(WebSocket实时沟通、基于用户的协同过滤、 ECharts多维分析、 预约业务流程、预约校验与定时处理)
java·vue.js·spring boot·mysql·spring·echarts·1024程序员节
小郎君65813 小时前
MPTT树复选框的半选状态:一棵百万节点树从递归到计数器,再到区间覆盖
算法
酌沧13 小时前
MemT让记忆成为模型内生能力
jvm·人工智能·算法
Shimeri13 小时前
越卷越像:我用遗传算法做了个"内卷"实验
算法·three.js·数据可视化·遗传算法·进化算法
鶴哥只手遮天14 小时前
jQuery 4.0 源码架构与工程实践-第 10 章 尺寸、几何与显隐
前端·javascript·jquery
Evand J14 小时前
【PMSM例程1】永磁同步电机(PMSM)转速与转子电角度观测算法|基于扩展卡尔曼滤波(EKF)的传感器状态估计与误差。附下载链接
算法·电机·1024程序员节·卡尔曼滤波
guo_wen_qiang14 小时前
二叉树的层序遍历-使用双端队列Deque
算法·leetcode·1024程序员节