vue 使用async写数字动态加载效果案例


Posted in Javascript onJuly 18, 2020

父组件

<interval-number :number-content="blockHeight" v-if="blockHeight>0"></interval-number>
 
import IntervalNumber from './IntervalNumber.vue'
components:{
  IntervalNumber,
}

子组件

<template>
 <span class="IntervalNumber">
 {{ counter }}
 </span>
</template>
<script>
export default {
 name: 'IntervalNumber',
 props: {
  numberContent: Number
 },
 data () {
  return {
   counter: this.numberContent,
   timeTicket: null,
  }
 },
 mounted(){
  let time = 1000 //ms 数字滚动总时间
  let delayTime = 30 // ms 数字滚动间隔时间
  let divisions = time / delayTime
 
  this.asyncPrint(this.counter, divisions, delayTime)
  
 },
 methods:{
  timeOut(ms) {
   return new Promise((resolve) => {
    this.timeTicket = setTimeout(resolve, ms)
   })
  },
  async asyncPrint(value, divisions, ms){
   for(let i=0; i< divisions; i++){
    
    try {
     await this.timeOut(ms);
    } catch (err) {
     console.log(err)
    }
 
    this.counter = Math.round(value / divisions * i);
   }
   
   this.counter = this.numberContent
 
   clearTimeout(this.timeTicket)
   this.timeTicket = null
  }
 }
}
</script>

补充知识:vue利用 vue-animate-number插件动态展示数字(从0动态滚动到指定数字)

vue-animate-number插件git地址: https://github.com/wangdahoo/vue-animate-number

1.具体实现步骤如下

如果你想展示一下自己的技术,也可以用代码一行一行的写,如果你像我一样“聪明”的话,咱还是用这个插件,亲测效果不错,简单易懂!哈哈,开个玩笑!说正事!

第一步:安装vue-animate-number插件

$ npm install vue-animate-number

第二步:在main.js中引入

import Vue from 'vue'
import VueAnimateNumber from 'vue-animate-number'
Vue.use(VueAnimateNumber)

第三步:在组件中使用

把所有用到的案例都在下面组件中写出

<template>
 <div>
 
  <animate-number
   from="1" 
   to="10" 
   duration="1000" 
   easing="easeOutQuad"
   :formatter="formatter"
  ></animate-number>
  
   <!-- 最简单的案例,from是开始值,to是结束值 -->
  <animate-number from="1" to="10"></animate-number>
  
  <animate-number ref="myNum" from="0" to="10" mode="manual" :formatter="formatter"></animate-number><br>
  
   <!-- 也可以通过按钮去触发-->
  <button type="button" @click="startAnimate()"> animate! </button>
 </div>
</template>

<script>
 export default {
  methods: {
   formatter: function (num) {
    return num.toFixed(2)
   },

   startAnimate: function () {
    this.$refs.myNum.start()
   }
  }
 }
</script>

vue 使用async写数字动态加载效果案例

vue 使用async写数字动态加载效果案例

2.vue-animate-number的API

以上显示的代码以及步骤git上都有,并且也比较详细,没事大家可以浏览一下,收藏起来,用到的时候多方便!

以上这篇vue 使用async写数字动态加载效果案例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery AJAX实现目录浏览与编辑的代码
Oct 21 Javascript
用JavaScript实现单继承和多继承的简单方法
Mar 29 Javascript
JQuery从头学起第三讲
Jul 06 Javascript
javascript学习笔记(三)显示当时时间的代码
Apr 08 Javascript
JavaScript中的字符串操作详解
Nov 12 Javascript
js控制li的隐藏和显示实例代码
Oct 15 Javascript
前端主流框架vue学习笔记第二篇
Jul 26 Javascript
利用vue开发一个所谓的数独方法实例
Dec 21 Javascript
js图数据结构处理 迪杰斯特拉算法代码实例
Sep 11 Javascript
layui.tree组件的使用以及搜索节点功能的实现
Sep 26 Javascript
微信小程序点击滚动到指定位置的实现
May 22 Javascript
JavaScript 几种循环方式以及模块化的总结
Sep 03 Javascript
vue-router为激活的路由设置样式操作
Jul 18 #Javascript
解决Vue @submit 提交后不刷新页面问题
Jul 18 #Javascript
vue+elementui实现点击table中的单元格触发事件--弹框
Jul 18 #Javascript
vuejs element table 表格添加行,修改,单独删除行,批量删除行操作
Jul 18 #Javascript
vue element table中自定义一些input的验证操作
Jul 18 #Javascript
vue cli4.0项目引入typescript的方法
Jul 17 #Javascript
js实现省级联动(数据结构优化)
Jul 17 #Javascript
You might like
将PHP作为Shell脚本语言使用
2006/10/09 PHP
基于HTTP长连接的&quot;服务器推&quot;技术的php 简易聊天室
2009/10/31 PHP
ThinkPHP使用Ueditor的方法详解
2016/05/20 PHP
php 猴子摘桃的算法
2017/06/20 PHP
PHP实现会员账号单唯一登录的方法分析
2019/03/07 PHP
基于Asp.net与Javascript控制的日期控件
2010/05/22 Javascript
JS动态修改iframe高度和宽度的方法
2015/04/01 Javascript
js预加载图片方法汇总
2015/06/15 Javascript
js cookie实现记住密码功能
2017/01/17 Javascript
Angular指令封装jQuery日期时间插件datetimepicker实现双向绑定示例
2017/01/22 Javascript
js遍历获取表格内数据的方法(必看)
2017/04/06 Javascript
vue如何引用其他组件(css和js)
2017/04/13 Javascript
将angular-ui的分页组件封装成指令的方法详解
2017/05/10 Javascript
jQuery 实现双击编辑表格功能
2017/06/19 jQuery
收藏AngularJS中最重要的核心功能
2017/07/09 Javascript
JS二分查找算法详解
2017/11/01 Javascript
vue scroller返回页面记住滚动位置的实例代码
2018/01/29 Javascript
web前端页面生成exe可执行文件的方法
2018/02/08 Javascript
详解Angular系列之变化检测(Change Detection)
2018/02/26 Javascript
JavaScript 隐性类型转换步骤浅析
2018/03/15 Javascript
vue使用自定义icon图标的方法
2018/05/14 Javascript
vue + axios get下载文件功能
2019/09/25 Javascript
createObjectURL方法实现本地图片预览
2019/09/30 Javascript
ant design的table组件实现全选功能以及自定义分页
2020/11/17 Javascript
[02:30]辉夜杯主赛事第二日胜者组半决赛 CDEC.Y赛后采访
2015/12/26 DOTA
跟老齐学Python之总结参数的传递
2014/10/10 Python
Python函数中定义参数的四种方式
2014/11/30 Python
python实现将汉字转换成汉语拼音的库
2015/05/05 Python
python 调用c语言函数的方法
2017/09/29 Python
Python实现调度算法代码详解
2017/12/01 Python
python 实现手机自动拨打电话的方法(通话压力测试)
2019/08/08 Python
通过实例解析Python调用json模块
2019/12/11 Python
python logging设置level失败的解决方法
2020/02/19 Python
护士毕业生自荐信
2014/02/07 职场文书
食品安全工作实施方案
2014/03/26 职场文书
中学生寄语大全
2014/04/03 职场文书