[uni-app] uni.createAnimation动画在APP端无效问题记录

news2025/1/20 5:57:26

文章目录

    • uni.createAnimation
      • 动画描述
      • 动画代码
        • template
        • js部分
      • 问题原因
      • 改进方案
        • template
      • js部分
      • 改动
      • git 改进截图

uni.createAnimation

动画描述

实现一个以左上角为锚点,以Z轴做平面抬起及落下的动画效果

动画代码

template
					<image v-if="showHot(item.cname)" :animation="animationData" :key="item.cname"
						src="https://cdn.xxx.com/static/cert/course_fire_icon2.png" mode="">
					</image>
js部分
			initAnimation() {
				this.animation = uni.createAnimation({
					transformOrigin: "0% 100%",
					duration: 500,
					timingFunction: 'ease',
				})
				this.jumpAnimation()
			},
			jumpAnimation() {
				this.interval = setInterval(async () => {
					this.animation
						.rotateZ(-20).step()
						.rotateZ(0).step()
					this.animationData = this.animation.export();
					setTimeout(() => {
						this.animationData = null; // 清除animationData,防止二次动画执行失败
					})
				}, 2000)
			},

问题原因

以上代码在小程序端OK, 但在App端无效,面向百度开发后得知,
由于 JavaScript 的限制,Vue 不能检测以下数组
1.直接给数组的某个索引复制,
2.直接修改数组的长度,
造成APP端无效的原因就是直接赋值
this.animationData = this.animation.export();

此处就需要再 data中添加一个数组变量来实现vue对状态的监控

改进方案

template
					<image v-if="showHot(item.cname)" :animation="animaArr[0]" :key="item.cname"
						src="https://cdn.xxx.com/static/cert/course_fire_icon2.png" mode="">
					</image>

js部分

		initAnimation() {
				this.animation = uni.createAnimation({
					transformOrigin: "0% 100%",
					duration: 500,
					timingFunction: 'ease',
				})
				this.jumpAnimation()
			},
			jumpAnimation() {
				this.interval = setInterval(async () => {
					this.animation
						.rotateZ(-20).step()
						.rotateZ(0).step()
					this.animationData = this.animation;
					this.animaArr.splice(0, 1, this.animationData
						.export()); // 把动画放进 data下的空数组内, 便于vue能够监听到变化
					setTimeout(() => {
						this.animationData = null; // 清除animationData,防止二次动画执行失败
						this.animaArr = []; //定期清除 animaArr,或者说是每次动画执行后清除, 这样让vue能够再次监听到动画数组
					})
				}, 2000)
			},

改动

最主要的变动就是将
在这里插入图片描述
替换为
在这里插入图片描述

git 改进截图

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1529776.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

查找众数及中位数 - 华为OD统一考试(C卷)

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 100分 题解&#xff1a; Java / Python / C 题目描述 众数是指一组数据中出现次数量多的那个数&#xff0c;众数可以是多个。 中位数只是指把一组数据从小到大排列&#xff0c;最中间的那个数&#xff0c;如果这组数…

Filter and Listener and AJAX and JSON

一、Filter Filter 表示过滤器&#xff0c;是 JavaWeb 三大组件(Servlet、Filter、Listener)之一。过滤器可以把对资源的请求拦截下来&#xff0c;从而实现一些特殊的功能。&#xff08;拦截指定资源&#xff09; 正常情况下&#xff0c;浏览器可以访问服务器上的所有的资源&…

【机器学习】无监督学习算法之:高斯混合模型

高斯混合模型 1、引言2、高斯混合模型2.1 定义2.2 原理2.3 实现方式2.4 算法公式2.4.1 概率密度函数2.4.2 EM算法之E步骤2.4.2 EM算法之M步骤 2.5 代码示例 3、总结 1、引言 小屌丝&#xff1a;鱼哥&#xff0c;给俺讲一讲什么是高斯啊 小鱼&#xff1a;高斯&#xff1f; 小…

苹果意将Gemini引入iPhone;英伟达发布新AI GPU;Grok正式开源

苹果正在谈判将 Gemini 引入 iPhone Mark Gurman 报道&#xff0c;苹果正在谈判将 Google 的生成式 AI 大模型 Gemini 引入 iPhone。 知情人士透露&#xff0c;两家公司正在积极谈判&#xff0c;让苹果获得 Gemini 授权&#xff0c;为今年 iPhone 软件的一些新功能提供动力。苹…

HCIA——30奈奎斯特定理、香农定理

学习目标&#xff1a; 计算机网络 1.掌握计算机网络的基本概念、基本原理和基本方法。 2.掌握计算机网络的体系结构和典型网络协议&#xff0c;了解典型网络设备的组成和特点&#xff0c;理解典型网络设备的工作原理。 3.能够运用计算机网络的基本概念、基本原理和基本方法进行…

Spring Boot 自动化单元测试类的编写过程

前言 Web环境模拟测试 企业开发不仅要保障业务层与数据层的功能安全有效&#xff0c;也要保障表现层的功能正常。但是我们一般对表现层的测试都是通过postman手工测试的&#xff0c;并没有在打包过程中代码体现表现层功能被测试通过。那么能否在测试用例中对表现层进行功能测…

【NLP笔记】RNN总结

文章目录 经典RNN单向RNN双向RNNDeep RNNRNN特性总结 变体RNNLSTMGRU 参考及转载内容&#xff1a; 循环神经网络&#xff08;RNN&#xff09;深度学习05-RNN循环神经网络完全理解RNN&#xff08;循环神经网络&#xff09; 传统的CNN&#xff08;Covolutional Neural Network&am…

【考研数学】汤家凤《1800题》值不值得做?

属于中等偏上的水平&#xff0c;想要基础扎实把1800拿下就错不了&#xff01; 这1800道题&#xff0c;真的不是盖的&#xff0c;数量相当可观&#xff01;想搞定它们&#xff0c;可得抓紧时间&#xff0c;不然真做不完。而且&#xff0c;想要效果更佳&#xff0c;还得来个二刷…

Django分页器

Django分页器 分页器前瞻之url urls.py不需要做修改 urlpatterns [path(test/, views.test,nametest), ]假设此时在原有的路径http://127.0.0.1:8000/app01/test后面添加/?page2 然后再后端获取到page def test(request):page request.GET.get(page)print(page) # 2retu…

MATLAB环境下基于改进最大相关峭度解卷积的滚动轴承故障诊断

相关峭度解卷积MCKD是一种新的解卷积方法&#xff0c;其设计了一个新的目标函数—相关峭度&#xff0c;并以此为优化目标设计一系列的FIR滤波器&#xff0c;为实现最好的效果&#xff0c;需要从中找到最优滤波器并最终实现对信号中噪声的抑制和对信号中冲击成分的突出的目的。M…

O2OA红头文件流转与O2OA版式公文编辑器基本使用

O2OA开发平台在流程管理中&#xff0c;提供了符合国家党政机关公文格式标准&#xff08;GB/T 9704—2012&#xff09;的公文编辑组件&#xff0c;可以让用户在包含公文管理的项目实施过程中&#xff0c;轻松地实现标准化公文格式的在线编辑、痕迹保留、手写签批等功能。并且可以…

Spire.PDF for .NET【文档操作】演示:将PDF拆分为多个PDF文件

Spire.PDF for .NET 是一款独立 PDF 控件&#xff0c;用于 .NET 程序中创建、编辑和操作 PDF 文档。使用 Spire.PDF 类库&#xff0c;开发人员可以新建一个 PDF 文档或者对现有的 PDF 文档进行处理&#xff0c;且无需安装 Adobe Acrobat。 E-iceblue 功能类库Spire 系列文档处…

基于Springcloud+Vue校园招聘系统 Eureka分布式微服务

以行动研究为主&#xff0c;辅以文献法、教育实验法和个案研究法等方法相结合的研究方法。在研究方法&#xff0c;遵循软件工程中软件生命周期的规则。概括来讲可以划分成三大步&#xff1a;系统规划、系统开发和系统运行维护。将其上述步骤细分下来&#xff0c;可以分为以下8小…

[Qt学习笔记]Qt实现鼠标点击或移动时改变鼠标的样式以及自定义鼠标样式

1、鼠标样式介绍以及对应函数 在Qt中大概有20种左右的内置鼠标样式&#xff0c;一般使用setCursor(Qt::CursorShape shape)来进行设置&#xff0c;一般常用的有标准箭头、手型&#xff0c;双箭头等等形状&#xff0c;对于不同的操作系统下&#xff0c;鼠标的样式显示会略有差别…

java Flink(四十三)Flink Interval Join源码解析以及简单实例

背景 之前我们在一片文章里简单介绍过Flink的多流合并算子 java Flink&#xff08;三十六&#xff09;Flink多流合并算子UNION、CONNECT、CoGroup、Join 今天我们通过Flink 1.14的源码对Flink的Interval Join进行深入的理解。 Interval Join不是两个窗口做关联&#xff0c;…

智慧城市的发展趋势与挑战:未来展望

随着信息技术的飞速发展&#xff0c;智慧城市已成为现代城市发展的重要方向。智慧城市通过集成应用先进的信息通信技术&#xff0c;实现城市管理、服务、运行的智能化&#xff0c;为城市的可持续发展注入了新的活力。然而&#xff0c;在智慧城市的发展过程中&#xff0c;也面临…

C语言——结构体自定义类型

目录 结构体类型 声明结构体 结构体的特殊声明 创建结构体变量和初始化结构体变量 结构体的自引用 结构体内存对齐 对齐规则 内存对齐存在意义 默认对齐数的修改 结构体传参 结构体实现位段 了解位段是什么 位段的内存分配 位段有跨平台的问题及使用注意事项 C语言…

电脑插上网线之后仍然没网络怎么办?

前言 有小伙伴在使用Windows系统的时候&#xff0c;经常会遇到电脑没网络&#xff0c;但又不知道具体怎么调整才好。 本篇内容适合插网线和使用Wi-Fi的小伙伴&#xff0c;文章本质上是重置电脑的网络设置。 注意事项&#xff1a;网络重置操作会让已连接过的wifi密码丢失&…

51单片机学习笔记7 串转并操作方法

51单片机学习笔记7 串转并操作方法 一、串转并操作简介二、74HC595介绍1. **功能**&#xff1a;2. **引脚**&#xff1a;3. **工作原理**&#xff1a;4. 开发板原理图&#xff08;1&#xff09;8*8 LED点阵&#xff1a;&#xff08;2&#xff09;74HC595 串转并&#xff1a; 三…

【PyTorch][chapter 22][李宏毅深度学习][ WGAN]【实战三】

前言&#xff1a; 本篇主要讲两个WGAN的两个例子&#xff1a; 1 高斯混合模型 WGAN实现 2 MNIST 手写数字识别 -WGAN 实现 WGAN 训练起来蛮麻烦的,如果要获得好的效果很多超参数需要手动设置 1&#xff1a; 噪声的维度 2: 学习率 3&#xff1a; 生成器&#xff0c;鉴别器…