Vue验证码60秒倒计时功能简单实例代码

yizhihongxing

那么我们来逐步讲解如何使用Vue实现验证码60秒倒计时功能的步骤和代码实现。

步骤一:安装Vue

首先,需要安装Vue,可通过以下命令安装:

npm install vue

步骤二:创建Vue实例

在HTML页面中引入Vue库后,需创建Vue实例,用于管理页面数据和操作行为:

const vueApp = new Vue({
  el: '#app',
  data: {
    second: 60, // 倒计时时长
    timer: null, // 定时器
    disabled: false, // 是否禁用按钮
  },
  methods: {
    countdown() { // 倒计时方法
      this.disabled = true; // 禁用按钮
      this.timer = setInterval(() => {
        if (this.second <= 0) {
          clearInterval(this.timer); // 清除定时器
          this.disabled = false; // 启用按钮
          this.second = 60; // 重置倒计时时长
        } else {
          this.second--; // 减少倒计时时间
        }
      }, 1000)
    },
    getCode() { // 获取验证码
      if (this.disabled) return;  
      // 发送验证码的请求代码省略
      this.countdown(); // 调用倒计时方法
    }
  }
})

步骤三:编写HTML模板

在Vue实例中,再编写HTML模板,用于展示页面和绑定事件:

<div id="app">
  <button @click="getCode" :disabled="disabled">{{ disabled ? second + 's后重试' : '获取验证码' }}</button>
</div>

在模板中,可以通过Vue的事件绑定方式(@click)来绑定获取验证码的按钮事件,同时根据状态来控制按钮的禁用状态和显示内容。

示例一: 使用axios请求验证码

methods: {
  countdown() { // 倒计时方法
    this.disabled = true; // 禁用按钮
    this.timer = setInterval(() => {
      if (this.second <= 0) {
        clearInterval(this.timer); // 清除定时器
        this.disabled = false; // 启用按钮
        this.second = 60; // 重置倒计时时长
      } else {
        this.second--; // 减少倒计时时间
      }
    }, 1000)
  },
  getCode() { // 获取验证码
    if (this.disabled) return;
    axios.get('/get-code').then((response) => {
      console.log(response) // 打印验证码请求返回结果
      // 请求成功后,调用倒计时方法
      this.countdown(); 
    }).catch((error) => {
      console.log(error) // 打印验证码请求错误信息
    })
  }
}

示例二: 使用fetch请求验证码

methods: {
  countdown() { // 倒计时方法
    this.disabled = true; // 禁用按钮
    this.timer = setInterval(() => {
      if (this.second <= 0) {
        clearInterval(this.timer); // 清除定时器
        this.disabled = false; // 启用按钮
        this.second = 60; // 重置倒计时时长
      } else {
        this.second--; // 减少倒计时时间
      }
    }, 1000)
  },
  getCode() { // 获取验证码
    if (this.disabled) return;
    fetch('/get-code').then((response) => {
      console.log(response) // 打印验证码请求返回结果
      // 请求成功后,调用倒计时方法
      this.countdown(); 
    }).catch((error) => {
      console.log(error) // 打印验证码请求错误信息
    })
  }
}

以上就是使用Vue实现验证码60秒倒计时功能的完整攻略,希望可以对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Vue验证码60秒倒计时功能简单实例代码 - Python技术站

(0)
上一篇 2023年5月29日
下一篇 2023年5月29日

相关文章

  • vue中根据时间戳判断对应的时间(今天 昨天 前天)

    下面是针对“vue中根据时间戳判断对应的时间(今天 昨天 前天)”的完整攻略。 1. 时间戳转换为日期 要想根据时间戳判断对应的时间,我们首先需要将时间戳转换为日期。JavaScript提供了Date()对象用于操作日期和时间。我们可以使用Date()对象和getTime()方法来将时间戳转换成日期对象。 举个例子,如果我们有一个时间戳变量timestamp…

    Vue 2023年5月27日
    00
  • vue-tree-chart树形组件的实现(含鼠标右击事件)

    树形组件介绍 vue-tree-chart是基于Vue实现的树形组件,其可以用于呈现大量的数据,并支持鼠标右键事件。该组件支持多级嵌套的树形结构,可以轻松地呈现层级数据,拥有流畅的展开和折叠操作,同时支持自定义节点的样式、连接线等。下面将介绍如何实现该组件。 实现步骤 首先在Vue项目中安装vue-tree-chart组件: npm install vue-…

    Vue 2023年5月28日
    00
  • Vue中前端与后端如何实现交互

    在Vue中,前端与后端交互有多种方式可供选择,以下是其中两种常用的方式。 1. RESTful API REST(Representational State Transfer, 表式状态转移)是Web应用程序中最常用的API设计风格。Vue前端通过RESTful API与后端交互,前端通过HTTP请求对后端发起请求,获取并处理返回的JSON数据,来完成前端…

    Vue 2023年5月27日
    00
  • Vue3 中的 readonly 特性及函数使用详解

    Vue3 中的 readonly 特性及函数使用详解 在 Vue3 中,readonly 是一个非常有用的特性,它可以将一个对象或数组变成只读的,防止被修改,以保证应用程序的稳定性。 什么是 readonly 特性? readonly 特性可以在定义一个对象或数组时,将其设置为只读状态,使其不被修改。使用 readonly 的优势在于避免了应用程序中的错误或…

    Vue 2023年5月28日
    00
  • vue 多入口文件搭建 vue多页面搭建的实例讲解

    下面是详细讲解”vue 多入口文件搭建 vue多页面搭建的实例讲解”的攻略: 1. 前置条件 为了搭建 Vue 多入口文件,你需要确保以下工具 已经安装: Node.js:安装最新版本代码和 npm 包 Vue CLI:用于创建 Vue 应用程序的命令行工具 2. 创建 Vue 应用程序 使用 Vue CLI 创建一个新的 Vue 应用程序: vue cre…

    Vue 2023年5月28日
    00
  • vue中动态添加style样式的几种写法总结

    当我们在Vue中需要动态添加样式时,我们可以使用以下几种方法: 使用class绑定 Vue中可以使用:class或者:v-bind指令将一个变量与class属性绑定起来,这样我们可以通过改变变量的值来改变元素的class属性,从而改变样式。 <template> <div :class="{ ‘selected’: isSelec…

    Vue 2023年5月27日
    00
  • vue router-link传参以及参数的使用实例

    下面我将为您详细讲解“Vue Router-Link 传参以及参数的使用”。 什么是 Vue Router-Link? Vue Router-Link 是 Vue.js 的一个路由组件,可以让你在 SPA(Single Page Application 单页应用程序)中实现页面跳转和参数传递。 如何使用 Vue Router-Link 传参? 使用 Vue …

    Vue 2023年5月29日
    00
  • 详解vue 数据传递的方法

    当我们在使用Vue开发Web应用时,数据的传递是一个非常重要的概念。Vue提供了多种方法来实现数据的传递,本文将详细讲解Vue数据传递的方法。 Prop Prop是Vue提供的一种父子组件通信的方式。当子组件需要从父组件中获取数据时,我们可以使用Prop将数据传递给子组件。 Prop的使用 在父组件中,我们可以通过在子组件标签上添加属性的方式来传递数据,例如…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部