npm 插件滚动数字组件 vue-count-to

1 vue-countTo 是一个无依赖的轻量级 vue 组件,可以自己覆盖 easingFn。

您可以设置 startVal 和 endVal ,它会自动判断向上或向下计数。它支持 vue-ssr。它是从 countUp.js 学习的;

2 进入正题,安装使用vue项目中为例,个人使用的组件

npm install vue-count-to

3 引入并组件化使用

<template>
    <div class="container">
        <div class="container-box">
            <ul class="head-list">
                <li class="header-li"
                    v-for="(item, key) in customData"
                    :key="key">
                    <div class="head__item-content">
                        <span v-if="!item.desc">
                            <count-to :start-val="0"
                                      :end-val="Number(item.endVal)"
                                      :duration="1500"
                                      :decimals="item.decimals"
                                      class="card-panel-num" />
                        </span>
                        <span v-else>
                            {{item.endVal}}
                        </span>
                    </div>
                </li>
            </ul>
        </div>
    </div>
</template>

<script>


    import CountTo from "vue-count-to";
    export default {
        components: {
            CountTo
        },
        data: () => {
            return {

                total: 0,
                customData: [{
                    name: "订单总笔数",
                    endVal: 0,
                    desc: false,
                    decimals: 0, // 要显示小数的位数
                },
                {
                    name: "学科总数",
                    desc: false,
                    endVal: 0,
                    decimals: 0,
                },
                {
                    name: "订单总金额",
                    endVal: 0,
                    desc: false,
                    decimals: 2,
                },],

            }
        },

        props: ['data', 'type'],
        // 滚动数据

        watch: {
            data: function (val) {
                this.customData[0].endVal = val.total;
                this.customData[1].endVal = val.sold;
                this.customData[2].endVal = val.price;
            }
        },
        methods: {


        }



    }
</script>

<style lang="scss" scoped>
    .container {
        display: flex;
        &-box {
            width: calc(100%);
            /deep/ .el-divider {
                background-color: #f6f6f6;
            }
            h3 {
                font-size: 16px;
                color: #262626;
            }

            .head-list {
                width: 100%;
                display: flex;
                align-items: center;
                padding: 0;
                .header-li {
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
                    flex: 33%;
                    position: relative;
                    padding-right: 80px;
                }
            }
        }
    }
</style>

4 count-to属性配置 

属性描述类型默认值
startVal       起始值想要开始的值Number0
endVal        结束值要达到的价值Number2017
duration       期间持续时间(毫秒)Number3000
autoplay     自动播放挂载时自动播放Booleantrue
decimals    小数点要显示的小数位数Number0
decimal      十进制拆分小数String.
separator    分隔器分隔符String,
prefix           前缀String''
suffix后缀String''
useEasing是使用缓动功能Booleantrue
easingFn缓动函数Function

** 注意:当 autoplay:true 时,startVal 或 endVal 改变时会自动启动 **

职能

函数名称描述
mountedCallback挂载时会发出mountedCallback
start开始计数
pause暂停 countTo
reset重置countTo

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值