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操作JSON实例代码
Feb 09 Javascript
Javascript Object.extend
May 18 Javascript
Javascript数组的排序 sort()方法和reverse()方法
Jun 04 Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
Jun 17 Javascript
JQuery替换DOM节点的方法
Jun 11 Javascript
JavaScript如何自定义trim方法
Jul 28 Javascript
JavaScript Length 属性的总结
Nov 02 Javascript
JavaScript用200行代码制作打飞机小游戏实例
Jun 21 Javascript
Vue.js基础指令实例讲解(各种数据绑定、表单渲染大总结)
Jul 03 Javascript
js 两个日期比较相差多少天的实例
Oct 19 Javascript
jQuery实现基本淡入淡出效果的方法详解
Sep 05 jQuery
javascript/jquery实现点击触发事件的方法分析
Nov 11 jQuery
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 下载保存文件保存到本地的两种实现方法
2013/08/12 PHP
PHP实现服务器状态监控的方法
2014/12/09 PHP
YII使用url组件美化管理的方法
2015/12/28 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
2016/10/22 PHP
php实现的证件照换底色功能示例【人像抠图/换背景图】
2020/05/29 PHP
javscript对象原型的一些看法
2010/09/19 Javascript
查看源码的工具 学习jQuery源码不错的工具
2011/12/26 Javascript
jQuery中判断一个元素是否为另一个元素的子元素(或者其本身)
2012/03/21 Javascript
固定网页背景图同时保持图片比例的思路代码
2013/08/15 Javascript
js获得网页背景色和字体色的方法
2014/03/21 Javascript
javascript数字时钟示例分享
2014/04/23 Javascript
浅谈javascript对象模型和function对象
2014/12/26 Javascript
onclick和onblur冲突问题的快速解决方法
2016/04/28 Javascript
js插件dropload上拉下滑加载数据实例解析
2016/07/27 Javascript
js操作浏览器的参数方法
2017/01/21 Javascript
jQuery中clone()函数实现表单中增加和减少输入项
2017/05/13 jQuery
jQuery实现节点的追加、替换、删除、复制功能示例
2017/07/11 jQuery
Vue配合iView实现省市二级联动的示例代码
2018/07/27 Javascript
js实现验证码干扰(动态)
2021/02/23 Javascript
将字典转换为DataFrame并进行频次统计的方法
2018/04/08 Python
Django 根据数据模型models创建数据表的实例
2018/05/27 Python
Python实现的特征提取操作示例
2018/12/03 Python
解决使用PyCharm时无法启动控制台的问题
2019/01/19 Python
通过python爬虫赚钱的方法
2019/01/29 Python
使用coverage统计python web项目代码覆盖率的方法详解
2019/08/05 Python
pandas之分组groupby()的使用整理与总结
2020/06/18 Python
使用css如何制作时间ICON方法实践
2012/11/12 HTML / CSS
美国在线奢侈品寄售商店:Luxury Garage Sale
2018/08/19 全球购物
J2EE包括哪些技术
2016/11/25 面试题
剪枝的学问教学反思
2014/02/07 职场文书
报告会主持词
2014/04/02 职场文书
企业职业病防治方案
2014/05/29 职场文书
贫困证明模板(3篇)
2014/09/16 职场文书
2014年银行信贷员工作总结
2014/12/08 职场文书
师德承诺书2015
2015/04/28 职场文书
k-means & DBSCAN 总结
2021/04/27 Python