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 相关文章推荐
修复ie8&amp;chrome下window的resize事件多次执行
Oct 20 Javascript
JS往数组中添加项性能分析
Feb 25 Javascript
JavaScript实现简单的tab选项卡切换
Jan 05 Javascript
Js得到radiobuttonlist选中值的两种方法(推荐)
Aug 25 Javascript
JS获取IE版本号与HTML设置IE文档模式的方法
Oct 09 Javascript
原生js实现可拖动的登录框效果
Jan 21 Javascript
js最简单的双向绑定实例讲解
Jan 02 Javascript
微信小程序异步API为Promise简化异步编程的操作方法
Aug 14 Javascript
ES6中let 和 const 的新特性
Sep 03 Javascript
微信小程序身份证验证方法实现详解
Jun 28 Javascript
VUE路由动态加载实例代码讲解
Aug 26 Javascript
微信小程序实现打开并下载服务器上面的pdf文件到手机
Sep 20 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强制下载类型的实现代码
2011/04/21 PHP
PHP删除数组中特定元素的两种方法
2013/07/02 PHP
PHP数字和字符串ID互转函数(类似优酷ID)
2014/06/30 PHP
PHP实现仿Google分页效果的分页函数
2015/07/29 PHP
yii实现使用CUploadedFile上传文件的方法
2015/12/28 PHP
Centos PHP 扩展Xchche的安装教程
2016/07/09 PHP
用php和jQuery来实现“顶”和“踩”的投票功能
2016/10/13 PHP
laravel实现上传图片并在页面显示的例子
2019/10/14 PHP
jQuery 实现评论等级好评差评特效
2016/05/06 Javascript
JS中sort函数排序用法实例分析
2016/06/16 Javascript
jQuery Easy UI中根据第一个下拉框选中的值设置第二个下拉框是否可以编辑
2016/11/29 Javascript
JS模拟实现ECMAScript5新增的数组方法
2017/03/20 Javascript
解决vue.js在编写过程中出现空格不规范报错的问题
2017/09/20 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
微信小程序修改checkbox的样式代码实例
2020/01/21 Javascript
JavaScript 实现轮播图特效的示例
2020/11/05 Javascript
python写入xml文件的方法
2015/05/08 Python
python统计文本文件内单词数量的方法
2015/05/30 Python
深入讲解Python编程中的字符串
2015/10/14 Python
Python中判断输入是否为数字的实现代码
2018/05/26 Python
Python 3 使用Pillow生成漂亮的分形树图片
2019/12/24 Python
Python综合应用名片管理系统案例详解
2020/01/03 Python
Python datetime模块使用方法小结
2020/06/18 Python
澳大利亚购买健身器材网站:Gym Direct
2019/12/19 全球购物
动态密码技术
2012/10/18 面试题
公务员年总结的自我评价
2013/10/25 职场文书
工商管理系学生的自我评价分享
2013/11/29 职场文书
公司周年庆典邀请函
2014/01/12 职场文书
《雨点儿》教学反思
2014/04/14 职场文书
给公司的建议书范文
2014/05/13 职场文书
房屋过户委托书范本
2014/10/07 职场文书
小学教师师德师风自我评价
2015/03/04 职场文书
2015年度合同管理工作总结
2015/05/22 职场文书
护理专业毕业自我鉴定
2019/08/12 职场文书
MySQL数据库索引的最左匹配原则
2021/11/20 MySQL
排查MySQL生产环境索引没有效果
2022/04/11 MySQL