Weex加载数据缓冲旋转动画的实现

2023-10-30

Weex Ui已经上线了加载动画了点击这里跳转,手写的我眼泪都掉了下来!!!

由于Weex手机端不支持gif图片,然而公司项目又要我加个加载动画,所以手写了一个动画加载组件。

注意1:

需要用到组件不会用组件的可以点击看看这篇文章:Weex&&Vue组件的使用与传参

注意2:

mounted()方法还没调用接口的话就直接拉到文章最后面的篇章++看能不能解决你的问题

自定义旋转动画组件

在这里插入图片描述
整个组件的代码
(用到了weex封装的animation
const animation = weex.requireModule(‘animation’)
transform是旋转的圈数,duration是多少秒旋转完transform的圈数,可以自行修改处理)

<template>
  <div class="div-father" :style="{width:this.deviceWidth}">
    <div ref='rotate' class="div-img" :style="{top:this.top}">
      <image @click="rotate()" style="width:50px;height:50px" :src="domain+src" class="img"></image>
    </div>
  </div>
</template>
<script>
import domain from './../config.js'
const animation = weex.requireModule('animation')
export default {
  data() {
    return {
      src: '/img/loading.png',
      domain: domain,
      top: 200,
    }
  },
  methods: {
    rotate() {
      var rotate = this.$refs.rotate;
      animation.transition(rotate, {
        styles: {
          transform: 'rotate(360000deg)',
        },
        duration: 50000, //ms
      })
    }
  },
  mounted() {

    // 加载图标垂直居中
    var me = this;
    me.top = parseInt(me.realHeight) / 2 - 25;
    this.rotate();

  },
  created() {

  }
}
</script>
<style>
.div-father {
  background-color: black;
  opacity: 0.3;
  height: 1000px;
  position: absolute;
}
.div-img {
  width: 50px;
  position: relative;
  left: 350px;
}
.img {
  border-radius: 50%;
}
</style>
需用到页面的JS代码

引入缓冲加载组件
在这里插入图片描述
在这里插入图片描述

需用到页面的CSS

在最外层div的最后面引入组件,用v-if判断他什么时候显示动画,LoadingBuffer为自定义的Boolean值,在data()方法写就好,状态是false也就是不显示
在这里插入图片描述

<!-- 数据加载缓冲 -->
<LoadTheInterface v-if="LoadingBuffer"></LoadTheInterface>

在这里插入图片描述

最后就是判断它什么时候执行动画了

首先在mounted()方法开头打开动画
在这里插入图片描述
然后在mounted()方法需要调用接口最久的地方结束缓冲,如果你直接写在mounted()方法的最后面是不生效的,因为mounted()方法里是异步的也是执行的顺序不定的,一起执行的话动画还没开始就已经结束了,mounted()方法还没调用接口的话就直接拉到文章最后面的篇章++看能不能解决你的问题(开头已说明)
在这里插入图片描述

篇章++

逻辑是这样的:
当前页面不跳转:
页面A跳转到=》加载缓冲页=》页面A
当前页面跳转到另一个页面:
页面A跳转到=》加载缓冲页=》页面B
所以要用到延时器setTimeout,让它在缓冲页停留几秒后返回当前页

页面A点击某个方法路由跳转到加载缓冲页面并且带个log标识

this.$router.push({
    path: '/loadTheInterface',
    query: {
        log: 'addThePatient'
    }
})

加载缓冲页的代码和上面的代码是一样的只不过加了个路由判断

<template>
  <div class="div-father" :style="{width:this.deviceWidth}">
    <div ref='rotate' class="div-img" :style="{top:this.top}">
      <image @click="rotate()" style="width:50px;height:50px" :src="domain+src" class="img"></image>
    </div>
  </div>
</template>
<script>
import domain from './../config.js'
const animation = weex.requireModule('animation')
export default {
  data() {
    return {
      src: '/img/loading.png',
      domain: domain,
      top: 200,
    }
  },
  methods: {
    rotate() {
      var rotate = this.$refs.rotate;
      animation.transition(rotate, {
        styles: {
          transform: 'rotate(360000deg)',
        },
        duration: 50000, //ms
      })
    }
  },
  mounted() {

    // 加载图标垂直居中
    var me = this;
    me.top = parseInt(me.realHeight) / 2 - 25;
    this.rotate();
    
    // // 添加页=>加载页=>添加页
    if (this.$route.query.log == 'addThePatient') {
      setTimeout(res => {
        this.$router.push({
          path: '/addThePatient',
          query: {
            log: 'success'
          }
        })
      }, 800)

    }

  },
  created() {

  }
}
</script>
<style>
.div-father {
  background-color: black;
  opacity: 0.3;
  height: 1000px;
  position: absolute;
}
.div-img {
  width: 50px;
  position: relative;
  left: 350px;
}
.img {
  border-radius: 50%;
}
</style>

在加载缓冲页的mounted() 判断页面A传来的log,对应后让延迟800毫秒后跳回页面A,缓冲多少秒舒服自己修改

// // 添加页=>加载页=>添加页
if (this.$route.query.log == 'addThePatient') {
  setTimeout(res => {
    this.$router.push({
      path: '/addThePatient',
      query: {
        log: 'success'
      }
    })
  }, 800)

}

在这里插入图片描述

然后页面A跳转到=》加载缓冲页=》页面B的用法和页面A跳转到=》加载缓冲页=》页面A的用法大同小异改一下返回的路由地址就好了
                                   **希望能够帮上忙,珂珂**
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Weex加载数据缓冲旋转动画的实现 的相关文章

  • weex打包安卓艰苦之路

    weex打包安卓 一 配置安卓环境 下载安卓SDK配置ANDROID HOME配置 ANDROID HOME tools android h 检查是否配置成功 二 weex的安装使用 一 weex简介以及开发前提 1 简介 官网的解释为We
  • weex实践初探

    weex是阿里2016年开源的项目 号称通过撰写HTML CSS JavaScript来开发原生android ios的UI界面 并且接近原生的性能体验 写一次 多端编译 一直是无线移动追求的目标 既然阿里牛皮吹得这么大 本人也非常迫切体验
  • Weex简介和环境的安装——Weex的学习之路(一)

    Weex 致力于使开发者能基于通用跨平台的 Web 开发语言和开发经验 来构建 Android iOS 和 Web 应用 简单来说 在集成了 WeexSDK 之后 你可以使用 JavaScript 语言和前端开发经验来开发移动应用 也就是说
  • 厉害了,用 Java 也能实现图片识别!

    点击上方 Java基基 选择 设为星标 做积极的人 而不是积极废人 源码精品专栏 原创 Java 2020 超神之路 很肝 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 Rock
  • 【C++简明教程】找数组或者Vector中最大最小值的索引

    导言 今天带来的程序是找出数组或者 Vector 中最大最小值的索引 在 Python 中 我们可以使用 numpy 库快速实现 那接下来就看看 C 是怎么实现的吧 主要使用到的函数是 max element 和 min element 基
  • 企业为什么要融资和上市

    这里面涉及到两个概念 即融资和上市 让我们先来理理这两者之间的逻辑辩证关系 其实根据我们的观察和调研发现 目前市场上许多人对上市这件事有着十分魔性的认知 小A觉得上市前融资轮次越多越好 小B认为上市后就是为了圈钱 小C觉得IPO的速度越快越
  • 为什么说“低估值买入,买到即赚到”?

    投资究竟能不能挣到钱 到底是由哪个环节决定的 买入还是卖出 直觉上说 这个问题的答案理所当然是 卖出 就连路边卖杂货的小商贩都明白 只要卖出价高于买入价 就可以挣到钱 直到我看了 穷查理宝典 接触到价值投资的理念 想法有了根本性改变 买入的
  • 第二天weex——flex布局

    flex布局 前言 之间陆陆续续的写过前端页面 对于布局方式几乎是不懂的 后来接触了flex布局就打算认真学习一番 对于flex布局是一种灵活布局 弹性盒子 flex 关于flex它有两条轴线 flex direction定义的是主轴线与之
  • 终于知道程序员为什么总是带个耳机了!

    能别带耳机吗 你能别来打扰我工作吗 不能 前阵子有篇热文 当一个程序员一天被打扰 10 次 后果很惊人 看后网友都表示深有同感 来看看这些网友都是怎么讲的 热心市民 开发小哥哥旁边放着一个计数器 我好奇的问他这个是记录每天的bug数吗 他说
  • 21亿春节红包撒出去,能缓解快手的流量焦虑吗?

    来源 连线Insight 编辑 李信 抖音作为央视春晚合作伙伴 着实火了一把 官方数据显示 春晚期间 抖音红包的总互动次数达到703亿 在抖音宣布成为2021年春晚独家红包互动合作伙伴时 最焦虑的莫过于快手 1月28日 快手官方微博宣布拿下
  • 真香!27寸三星曲面屏写代码零Bug,包邮送一台!

    最近有粉丝留言让我多搞些抽奖活动 为了感谢大家对本公众号的大力支持本次联合了10个号主 送27寸三星曲面屏显示器 祝所有人新的一年工作顺利 工资芝麻开花节节高 希望本次抽奖可以给你带来好运 生活不易 望大家加倍努力 升职加薪 事业家庭双丰收
  • weex dom.scrollToElement 滚动问题

    使用weex 的dom scrollToElement 兼容问题 1 使用for生成的ref 在初始化获取ref节点时候需要有100ms延迟 2 dom scrollToElement 传入的 ref参数 需要使用this refs ref
  • 学会不被洗脑 很重要!

    大家好 我是北妈 今天发一个铁粉在桃花岛向我提问的问题 0 虚x 提问 最近网暴频发 网友甚至好友互相攻击 在越来越复杂的社会事件中 怎么提升自己的思考深度 怎么避免被洗脑 北妈怎么看 这个话题我不止一次说过了 就是其中一个原则 兼听则明
  • Weex页面的编写——Weex的学习之路(六)

    通过前几博客我们把weex的内置组件都学习完了 组件的单独使用想必都可以了 那么 这次我们来做weex实际页面的编写 见证一下 一套代码在Android Ios和H5上使用 在weex官网推荐我们使用Weex Studio作为编译器 其实这
  • 我玩某宝新模式2个月收λ15万,你觉得过气的行业,真的很赚钱!

    如果有人问 有什么事 比穷更难受 我的回答一定是 马上过年了 我还在喝西北风 我的朋友先暴富了 这段时间 我就被闺蜜美美狠狠扎了心 以前她和我一样是个普通上班族 去年做微商囤了大几万的货卖不出去 老公气得要和她离婚 整日垂头丧气 谁知年底了
  • 2020年下一个创业风口是什么?

    提到风口 大家总是兴致勃勃 满心期待的看完一个风口项目后 剩下的不是去选择执行 而是继续问道 还有其它的风口项目吗 所以 在我看来 对于大多数人而言 风口就是继续追问 没完没了的问还有其它的吗 今年没有抓住风口 告诉自己 不能灰心 明年拜菩
  • weex studio爬坑之旅之禁止ESLint

    weex studio爬坑之旅之禁止ESLint ESLint据说是个很好的插件 但是对我这种刚学weex的新手 在安装vue和weex ui后是免不了ctrl v的 但是运行后预览界面打不开着实让人头疼 weex studio也发行了许久
  • 阿里把中台变薄,背后逻辑是什么?

    颠覆式创新怎么做 中台适合做组合式创新 不适合做颠覆式创新 那么颠覆式创新如何做呢 各家巨头做法不太一样 腾讯使用 赛马机制 马化腾没有想到 10年前的那场 赛马 最后跑出来的是一个叫张小龙的人和他所带领的 微信 团队 而他们此前 从来没做
  • Weex实现富文本展示

    Weex默认不支持富文本展示 需要我们手动实现 已知的方式有两种 第一种方式 使用Weex Ui中的wxc rich text组件 它提供了丰富的功能样式 但是其局限性也是显而易见的 不能直接识别h5样式 第二种方式 第一步 自定义组件 请
  • 在腾讯连拿六个五星

    刚毕业入职腾讯工作 2 3 年 半年 年终绩效每次都是 5 4 星 不一定年薪百万 主要薪资 奖金无法决定 这个取决于股票是否上涨不少 但晋升肯定是最快的 在阿里拿 375 跟在腾讯拿 5 4 星的比例差不多 应届毕业能拿一次确实很优秀了

随机推荐

  • 数据库删除数据的方式

    数据库删除数据的方式主要是有三种 drop delete truncate 他们之间的区别在于 1 删除的内容不同 drop 用于删除数据库 数据表 以及 删除数据表中的字段 删除数据库 drop database 数据库名 删除数据表 d
  • Numpy、Pandas使用大全与各参数详解

    目录 一 numpy 1 属性 方法与操作 1 属性 2 方法 3 操作 2 文件读取与保存 1 文件读取 2 文件保存 3 矩阵生成 二 Pandas 1 属性与方法 1 属性 2 方法 2 数据选取 1 取行 2 取列 3 数据处理 1
  • 遇到问题----shrio------shiro登录,多个项目session被覆盖问题---两个web项目会导致shiro的session污染

    情况 遇到问题 shrio shiro登录 多个项目session被覆盖问题 一个项目两个web模块会导致shiro的session污染 表现为 我在同一台机子上部署了两个都使用了shiro管理的web项目 它们的访问路径除了端口不一样 i
  • PaddleDetection算法分析(13)

    2021SC SDUSC 分析完了PaddleDetection的竞赛冠军模型 接下来分析移动端模型 PaddleDetection目前提供一系列针对移动应用进行优化的模型 主要支持以下结构 其中大量网络应用了ssd算法 我们接下来进行对其
  • CPU密集型和IO密集型任务的权衡:如何找到最佳平衡点

    关于作者 CSDN内容合伙人 技术专家 从零开始做日活千万级APP 专注于分享各领域原创系列文章 擅长java后端 移动开发 人工智能等 希望大家多多支持 目录 一 导读 二 概览 三 CPU密集型与IO密集型 3 1 CPU密集型 3 2
  • Vue 刷新当前页面,并重新加载页面数据

    业务场景 在管理后台 在执行完 增 删 改 操作的时候 我们需要刷新一下页面 重载数据 在JQ中我们会用到location reload 方法 刷新页面 在vue中 这里需要用到一个 provide inject 这对用例 其他方法 thi
  • 还在纠结芯片引脚需要加多大容值的电容吗?

    电容具有滤波的作用 应该是每个硬件工程师都具备的最基础的知识了 在一些芯片IO口 我们能看到0 1UF 100NF 4 7UF容值的滤波电容 电容 一个小小的物料 其容值的选取往往在硬件电路设计以及仿真中起到了非常重要的作用 在电容进行滤波
  • winfrom 操作Excel

    利用 Aspose Cells dll 操作Excel 内容如下 1 界面设计 2 逻辑 using System using System Collections Generic using System Windows Forms us
  • 【test】

    这里写自定义目录标题 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题 有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中 居左 居右 Sma
  • C++ 猜数字游戏的提示(详解)

    实现一个经典 猜数字 游戏 给定答案序列和用户猜的序列 统计有多少数字位置正确 A 有多少数字在两个序列都出现过但位置不对 B 输入包含多组数据 每组输入第一行为序列长度n 第二行是答案序列 接下来是若干猜测序列 猜测序列全0时该组数据结束
  • 如何使用tensorboard及打开tensorboard生成文件

    一 使用tensorboard tensorboard中常用函数 1 writer add scalar def add scalar self tag scalar value global step None walltime None
  • SQL Server 如何清空数据库所有表数据

    1 清空SQL Server数据库中所有表数据 1 编写存储过程脚本 CREATE PROCEDURE sp DeleteAllData AS EXEC sp MSForEachTable ALTER TABLE NOCHECK CONST
  • 杂项设备(misc device)

    杂项设备 misc device 杂项设备也是嵌入式系统中用得比较多的一种设备驱动 在 Linux 内核的include linux目录下有miscdevice h文件 要把自己定义的misc device从设备定义在这里 其实是因为这些字
  • PAT C入门题目-7-103 查找书籍 (20 分)(struct的应用)

    7 103 查找书籍 20 分 给定n本书的名称和定价 本题要求编写程序 查找并输出其中定价最高和最低的书的名称和定价 输入格式 输入第一行给出正整数n lt 10 随后给出n本书的信息 每本书在一行中给出书名 即长度不超过30的字符串 随
  • 从内核文件系统看文件读写过程

    阅读目录 系统调用 虚拟文件系统 I O 缓冲区 Page Cache Address Space 文件读写基本流程 回到顶部 系统调用 操作系统的主要功能是为管理硬件资源和为应用程序开发人员提供良好的环境 但是计算机系统的各种硬件资源是有
  • 计算二叉树的深度和结点个数

    计算二叉树的深度和结点个数以及叶子结点的个数 二叉树的深度呢指的是二叉树中最大的结点层数 这个很好理解的 而二叉树的结点包含一个数据元素及两个指向子树的分支 叶子结点呢就是树底下没有一个分支的结点 include
  • 彻底解决安装包过程中的Requirement already satisfied:问题

    问题如图 安装库总是提示大量类似Requirement already satisfied paddle in f anapython lib site packages 1 0 2 的信息 对此问题 需要指定安装目录 格式 pip ins
  • oracle 存储过程的基本语法 及注意事项

    oracle 存储过程的基本语法 1 基本结构 CREATE OR REPLACE PROCEDURE 存储过程名字 参数1 IN NUMBER 参数2 IN NUMBER IS 变量1 INTEGER 0 变量2 DATE BEGIN E
  • 大学生必备的网址

    飞达简历网http www jianlishop com 精美的简历设计网站 大量XXXXX资源 无忧简历网http www 51jianli com 收费简历设计网站 我的简历http www wdjl net XXXXX提供电子简历 视
  • Weex加载数据缓冲旋转动画的实现

    Weex Ui已经上线了加载动画了点击这里跳转 手写的我眼泪都掉了下来 由于Weex手机端不支持gif图片 然而公司项目又要我加个加载动画 所以手写了一个动画加载组件 注意1 需要用到组件不会用组件的可以点击看看这篇文章 Weex Vue组