这两天学习了Vue.js 感觉渡系统这个地方知识点挺多的,而且很重要,所以,今天添加一点小笔记。
Vue 的过渡系统提供了非常多简单的方法设置进入、离开和列表的动效。那么对于数据元素本身的动效呢,比如:
所有的原始数字都被事先存储起来,可以直接转换到数字。做到这一步,我们就可以结合 Vue 的响应式和组件系统,使用第三方库来实现切换元素的过渡状态。
状态动画和watcher
通过 watcher 我们能监听到任何数值属性的数值更新。可能听起来很抽象,所以让我们先来看看使用 Tweenjs 一个例子。
Js代码中引入:
当你把数值更新时,就会触发动画。这个是一个不错的演示,但是对于不能直接像数字一样存储的值,比如 CSS 中的 color 的值,通过下面的例子我们来通过 Color.js 实现一个例子。
js需要添加以下引用:
通过组件组织过渡
管理太多的状态转换会很快的增加 Vue 实例或者组件的复杂性,幸好很多的动画可以提取到专用的子组件。
我们来将之前的示例改写一下:
+ = {{result}}
+ = Vue.component('animate-integer',{ template:'{{tweeningValue}}', props:{ value:{ type:Number, required:true } }, data:function () { return {tweeningValue:0} }, mounted:function () { this.tween(0, this.value) }, watch:{ value:function (newVal, oldVal) { this.tween(oldVal, newVal) } }, methods:{ tween:function (startValue, endValue) { var vm = this function animate() { if(TWEEN.update()){ requestAnimationFrame(animate) } } new TWEEN.Tween({tweeningValue:startValue}) .to({tweeningValue:endValue}, 500) .onUpdate(function () { vm.tweeningValue = this.tweeningValue.toFixed(0) }).start() animate() } } }) new Vue({ el:'#app', data:{ firstNumber:20, secondNumber:40 }, computed:{ result:function () { return this.firstNumber + this.secondNumber } } })
运行结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
写下你的评论吧 !推荐阅读
前言:小写转大写,可以用过滤器实现,但当使用v-model时就不行了,这里有解决方案。转载请注明出处:http ... [详细]蜡笔小新 2024-12-06 10:35:33 QUIC(Quick UDP Internet Connections)是谷歌开发的一种旨在提高网络性能和安全性的传输层协议。它基于UDP,并结合了TLS级别的安全性,提供了更高效、更可靠的互联网通信方式。 ... [详细]蜡笔小新 2024-12-28 12:33:18 本文探讨了如何从动态网站中提取站点密钥,特别是针对验证码(reCAPTCHA)的处理方法。通过结合Selenium和requests库,提供了详细的代码示例和优化建议。 ... [详细]蜡笔小新 2024-12-28 04:11:47 本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]蜡笔小新 2024-12-27 18:20:43 本文详细介绍了如何使用Python编写爬虫程序,从豆瓣电影Top250页面抓取电影信息。文章涵盖了从基础的网页请求到处理反爬虫机制,再到多页数据抓取的全过程,并提供了完整的代码示例。 ... [详细]蜡笔小新 2024-12-27 16:55:07 本文详细介绍了如何在Linux环境中安装和配置ActiveMQ,包括端口开放及防火墙设置。通过本文,您可以掌握完整的ActiveMQ部署流程,确保其在网络环境中正常运行。 ... [详细]蜡笔小新 2024-12-27 14:38:54 本文将详细介绍如何使用最新版WPS Office for Mac调整Word文档中的文字排列方向。通过这些步骤,用户可以轻松更改文本的水平或垂直排列方式,以满足不同的排版需求。 ... [详细]蜡笔小新 2024-12-27 12:34:14 Vuetify 是一款基于 Vue.js 的开源 UI 框架,以其精致的 Material Design 风格组件库在全球范围内受到广泛欢迎。 ... [详细]蜡笔小新 2024-12-19 15:15:20 本文深入探讨了JavaScript中实现继承的四种常见方法,包括原型链继承、构造函数继承、组合继承和寄生组合继承。对于正在学习或从事Web前端开发的技术人员来说,理解这些继承模式对于提高代码质量和维护性至关重要。 ... [详细]蜡笔小新 2024-12-18 11:08:28 案例1:在子组件中两个按钮1和-1,点击后修改count整个操作的过程还是在子组件中完成,但是之后的展示交给父组件这样,我 ... [详细]蜡笔小新 2024-12-11 13:03:12 本文详细介绍了如何安装Node.js和npm,以及如何使用npm安装Vue及其相关工具,包括vue-router和vue-cli,并创建一个简单的Vue项目。 ... [详细]蜡笔小新 2024-12-11 10:47:49 本文详细介绍了如何使用JavaScript实现数据的双向绑定,包括MVVM架构的基本概念、不同框架下的实现方式以及具体的代码示例。 ... [详细]蜡笔小新 2024-12-11 05:40:01 本文探讨了在使用 localhost 和本地 IP 地址访问相同网页时出现的渲染差异现象,通过对比两种环境下的页面显示效果,并结合多种可能的原因进行了分析,最终得出了可能导致这种现象的具体因素。 ... [详细]蜡笔小新 2024-12-08 18:53:47
祢好世界末日这个家伙很懒,什么也没留下!Tags | 热门标签RankList | 热门文章
- 1nfs 客户端和服务器端有相同的用户(UID 不同),属主出现变化的解决办法
- 2Docker实际应用:输出helloworld的详细分析
- 3电路结构原理_电冰箱的结构组成与电路原理知识
- 4使用 Material Design 设计的 Quantum OS 会有更好的用户体验吗?
- 5之前装了一个宽带,最近又装了电信同城宽带,发现给的都是旧猫
- 6想不想修真获取服务器配置文件,想不想修真神界刷资源要什么条件?神界刷资源收益与属性要求配置[多图]...
- 7阴阳师哪个服务器可以用微信登录,网易大神怎么绑定阴阳师QQ微信账号 网易大神绑定阴阳师QQ微信账号方法...
- 8如何计算文件中的每个字母?
- 9fread “rb“与“r“,“wb“,“w“的区别
- 10食品安全管理员证用吗?有.最新食品安全管理员模拟真题集及答案解析
- 11关于提加薪要求,哪位朋友给点建议
- 12火绒能更新服务器系统么,火绒自动升级频率是怎么样的?
- 135 路由器和猫和分路模块连接顺序和连接方法?:路由模块设置
- 14Ovum:通信业支出将再次增长
- 15linux下/bin和/usr/bin和/usr/local/bin的区别
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有