0
点赞
收藏
分享

微信扫一扫

gdb调试 与 coredump

Brose 2023-05-26 阅读 55

我们在src跟目录下创建一个utils目录下面创建一个continuousLoading.js
参考代码如下

let value = 0;

export default function(callback) {
  const timer = setInterval(() => {
    if (callback&&(value || value === 0)&&value < 99) {
      value += 1;
      callback(value);
    } else {
      clearInterval(timer);
    }
  }, 500);
}

这里这个描述甚至你也可以改成外面传进来的 我这里就直接设置 500 0.5秒执行一次了
然后每次进来判断 value 如果还小于99就继续 加一 然后回调一下传进来的函数
如果到99了 就直接clearInterval关掉定时器

然后 我们vue组件代码编写如下

<template>
    <div>
        {{ value }}
    </div>
</template>

<script>
import continuousLoading from '@/utils/continuousLoading';

export default {
  data() {
    return {
      value: 0
    }
  },
  created() {
    continuousLoading((value) => {
      this.value = value;
    });
  }
}
</script>

这里 主要是created中 定义了continuousLoading 我们传进去的回调就是 接受到value 然后将接到的value给 data中的响应式的value赋值
因为我们continuousLoading中写了每500后加一回调 传value作为回调函数的参数
在这里插入图片描述
这样 我们页面上的值就一直在加 且用于 不会超过99
做出一个正在加载的假象给用户看
甚至我们还可以配合element-ui的组件
参考代码如下

<template>
    <div>
        <el-progress type="circle" :percentage="value"></el-progress>
    </div>
</template>

<script>
import continuousLoading from '@/utils/continuousLoading';

export default {
  data() {
    return {
      value: 0
    }
  },
  created() {
    continuousLoading((value) => {
      this.value = value;
    });
  }
}
</script>

在这里插入图片描述
就很完美

举报

相关推荐

0 条评论