1. <template>
  2. <div class="loading" :style="{height:loadingRadiusVal+'px',width:loadingRadiusVal+'px'}">
  3. <div v-for="(dotNum, index) in dotNums" :key="index" :style="dotTransform(index, dotNums)">
  4. <span :style="dotAimation(index, dotNums)"></span>
  5. </div>
  6. </div>
  7. </template>

js

  1. <script>
  2. export default{
  3. props:{
  4. loadingRadiusVal: { type: Number, default: 100 },
  5. dotRadiusVal: { type: Number, default: 20 },
  6. dotColorVal: { type: String, default: '#f00' },
  7. dotNums: { type: Number, default: 10 }
  8. },
  9. data(){
  10. return{
  11.  
  12. }
  13. },
  14. methods:{
  15. dotTransform(idx,dotNums){
  16. let rad = 2 * Math.PI / dotNums * idx;
  17. let dotX = Math.cos(rad) * (this.loadingRadiusVal / 2);
  18. let dotY = Math.sin(rad) * (this.loadingRadiusVal / 2);
  19. return { transform: `translate(${dotX}px,${dotY}px)`,height: this.dotRadiusVal+'px',width:this.dotRadiusVal+'px'};
  20. },
  21. dotAimation(idx,dotNums){
  22. let delayTime = `${-1*(1+idx)*1/dotNums}s`;
  23. return{
  24. animationDelay:delayTime,
  25. background:this.dotColorVal
  26. }
  27. }
  28. }
  29. }
  30. </script>

css

  1. <style>
  2. div.loading{
  3. position: relative;
  4. margin: 0 auto;
  5. font-size:;
  6. border-radius: 50%;
  7. transform-origin: 50%;
  8. }
  9. div.loading div{
  10. position: absolute;
  11. top: 50%;
  12. left: 50%;
  13. border-radius: 100%;
  14. }
  15. span{
  16. display: block;
  17. border-radius: 50%;
  18. width: 100%;
  19. height: 100%;
  20. animation: ball 1s infinite ease-in-out;
  21. }
  22. @keyframes ball{
  23. 0%{
  24. opacity:;
  25. transform: scale(1);
  26. }
  27. 20%{
  28. opacity:;
  29. }
  30. 80%{
  31. opacity:;
  32. transform: scale(0);
  33. }
  34. }
  35. </style>

vue——loading组件的更多相关文章

  1. vue loading组件

    <!-- * * loadingGif组件--"数据请求中" * * 使用方法: * <loading-gif :show-loading="showLoad ...

  2. VUE移动端音乐APP学习【四】:scroll组件及loading组件开发

    scroll组件 制作scroll 组件,然后嵌套一个 DOM 节点,使得该节点就能够滚动.该组件中需要引入 BetterScroll 插件. scroll.vue: <template> ...

  3. Vue 封装的loading组件

    <template> <div class="loadEffect"> <span></span> <span>< ...

  4. 浅尝Vue.js组件(二)

    本篇目录: 插槽(Slot) 插槽内容 作用域 具名插槽 作用域插槽 独占默认插槽的缩写语法 解构插槽Prop 使用场景举例 动态插槽名 具名插槽缩写 动态组件&keep-alive 异步组件 ...

  5. 自定义vue全局组件use使用

    自定义一个全局Loading组件,并使用:总结目录:|-components |-loading |-index.js 导出组件,并且install |-loading.vue 定义Loading组件 ...

  6. vue封装组件的正确方式-封装类似elementui的组件

    最近读了下element的源码,仿照他封装了两种不同的组件. 第一种:通过组件来调用显示的 <template> <!--src/component/custom/main.vue- ...

  7. 自定义vue全局组件use使用(解释vue.use()的原理)

    我们在前面学习到是用别人的组件:Vue.use(VueRouter).Vue.use(Mint)等等.其实使用的这些都是全剧组件,这里我们就来讲解一下怎么样定义一个全局组件,并解释vue.use()的 ...

  8. vue2.0 仿手机新闻站(五)全局的 loading 组件

    1.组件结构 index.js const LoadingComponent = require('./Loading.vue') const loading = { install: functio ...

  9. [Loading Component]Loading组件的v-model设计是否不合理?

    vue在2.4.2版本中给computed里的属性加了限制,详见assigning to a computed property without setter does not fail 项目将vue ...

随机推荐

  1. 13点值得我们注意的谷歌的JavaScript编写风格

    对于编写有效的JavaScript来说,这些并不是硬性的.快速的规则,而只是在源文件中维护一致的.吸引人的样式选择的规则.这对于JavaScript来说尤其有趣,它是一种灵活且多变的语言,允许多种风格 ...

  2. js字符串轉數組,數組轉字符串

    字符串轉數組:split(',') 數組轉字符串:join(‘,’) https://www.cnblogs.com/woodk/p/5714329.html

  3. GitHub修改用户名

    刚开始用github时随便起了个名字,现在想修改名字了,自己研究了半天终于找到修改地方 1.点击settings 2.点击Account的Change username 3.点击下面红色的按钮 4.在 ...

  4. 三菱FX系列PLC教程

      标   题 日 期 点击 第一章:可编程控制器概论 2014-11-04 1401 1-0 课程概述 2014-11-05 192237 1-1 PLC的定义功能与特点 2014-11-05 16 ...

  5. 忘掉Ghost!利用Win10自带功能,玩转系统备份&恢复 -- 关于系统恢复的深度思考

    上一篇文章讲了,系统可以正常启动,如何从D盘恢复系统到C盘的情况. 如果系统不能启动,要怎么去恢复系统,恢复后会是什么结果? 先说明系统结构: 系统版本:Windows 10 (1709) 硬盘1(5 ...

  6. MySQL 导出数据库,出现 “mysqldump: Got error: 1146”

    出现场景 在 cmd 导出数据库时: mysqldump -hlocalhost -uroot -p student_db > C:\student_db.sql 出现: mysqldump: ...

  7. postgres 基本操作

    登陆: $ psql -U <user> -d <dbname> 数据库操作: $ \l      //查看库 $  \c <dbname>   //切换库 // ...

  8. Kubernetes集群调度器原理剖析及思考

    简述 云环境或者计算仓库级别(将整个数据中心当做单个计算池)的集群管理系统通常会定义出工作负载的规范,并使用调度器将工作负载放置到集群恰当的位置.好的调度器可以让集群的工作处理更高效,同时提高资源利用 ...

  9. MongoDB 高可用集群副本集+分片搭建

    MongoDB 高可用集群搭建 一.架构概况 192.168.150.129192.168.150.130192.168.150.131 参考文档:https://www.cnblogs.com/va ...

  10. Form -------- 使用

    Django的Form主要具有一下几大功能: 生成HTML标签 验证用户数据(显示错误信息) HTML Form提交保留上次提交数据 初始化页面显示内容 1.创建Form类 from django.f ...