vue动画
来源:互联网 发布:慕课网python教程 编辑:程序博客网 时间:2024/06/15 17:43
document.customMenu:在document对象上挂一个属性:customMenu。
进入/离开 & 列表过渡
vue 在插入、更新或者移除DOM时,提供多种不同方式的应用过渡效果。
- 在 CSS 过渡和动画中自动应用 class
- 可以配合使用第三方 CSS 动画库,如 Animate.css
- 在过渡钩子函数中使用 JavaScript 直接操作 DOM
- 可以配合使用第三方 JavaScript 动画库,如 Velocity.js
单元素/组件的过渡
vue提供了 transition 的封装组件,在下列情形中,可以给任何元素和-组件添加 entering/leaving 过渡。
- 条件渲染 (使用 v-if)- 条件展示 (使用 v-show)- 动态组件- 组件根节点</br>
注意:
- 组件更新一定会引起组件的DOM更新;
- 组件更新是由组件本身的某些属性发生变化引起的,如上述四种情况都是会引起组件更新,从而会有动画;
- 组件内容发生变化,组件不会有过渡动画。因为组件内容是组件的子集,不是组件本身。
css过渡
<code> <style media="screen"> .miaov-a-active { position: absolute; transition: all 1s } .miaov-enter { left: 100px; } .miaov-enter-to { left: 0px; } .miaov-leave-active { transition: all 2s } .miaov-leave { opacity: 1; } .miaov-leave-to { opacity: 0; } </style> <script src="../js/vue.js" charset="utf-8"></script></head><body> <div id="app"> <button @click="show = !show">按钮</button> <transition name="miaov"> <p v-show="show">内容</p> </transition> </div> <script type="text/javascript"> new Vue({ el: '#app', data: { show: false } }) </script></code>
JavaScript 钩子
<code> <div id="app"> <button @click="show = !show">按钮</button> <transition @before-enter="beforeEnter" @enter="enter" > <p v-show="show">内容</p> </transition> </div> <script type="text/javascript"> new Vue({ el: '#app', data: { show: false }, methods: { beforeEnter(el) { $(el).css({opacity: 0}) }, enter(el) { console.log(el); $(el).animate({ opacity: 1 }, 1000); } } }) </script></code>
动态组件添加动画
动态组件
- 通过使用保留的 元素,动态地绑定到它的 is 特性,我们让多个组件可以使用同一个挂载点,并动态切换。
keep-alive
如果把切换出去的组件保留在内存中,可以保留它的状态或避免重新渲染。为此可以添加一个 keep-alive 指令参数:
-添加动画<code> <style media="screen"> .miaov-enter-active { position: absolute; transition: all 1s } .miaov-enter { left: 100px; } .miaov-enter-to { left: 0px; } .miaov-leave-active { transition: all 2s } .miaov-leave { opacity: 1; } .miaov-leave-to { opacity: 0; } </style></head><body> <div id="app"> <button @click="currentView='home'">home</button> <button @click="currentView='list'">list</button> <button @click="currentView='about'">about</button> <keep-alive> <transition name="miaov"> <component v-bind:is="currentView"> <!-- 组件在 vm.currentview 变化时改变! --> </component> </transition> </keep-alive> </div> <script type="text/javascript"> new Vue({ el: '#app', data: { currentView: 'home' }, components: { home: { template: '<h1>home</h1>', destroyed() { console.log('home destroyed'); }, activated() { console.log('home activated'); }, deactivated() { console.log('home deactivated'); } }, list: { template: '<h1>list</h1>', activated() { console.log('list activated'); }, deactivated() { console.log('list deactivated'); } }, about: { template: '<h1>about</h1>' } } }) </script></code>
注意:这里涉及到生命周期中的两个钩子函数:
- 1.activated:keep-alive 组件激活时调用。
- 2.deactivated:keep-alive 组件停用时调用。
阅读全文
0 0
- vue动画
- Vue动画
- vue动画
- vue动画
- vue动画
- vue+vue-router转场动画
- Vue动画 和 Vue路由
- vue 动画过渡
- vue动画transition
- vue动画 -组件
- Vue之过渡动画
- Vue动画实现
- Vue相关(过渡动画)
- vue-cli 动画效果
- vue过渡动画
- vue过渡动画
- Vue 动画(过渡)
- vue初始化动画加载
- 图解CSS3核心技术与案例实战(第三章CSS3边框)
- SSM框架和SSH框架的区别
- solr配置中文分析器及业务字段
- npm scripts
- iText7 生成 PDF 文件,解决各种操作系统中文问题,控制指定位置显示图片、文字、图文混排
- vue动画
- C#类和对象(一)——类和结构的区别
- quartz定时任务中常用的cron表达式
- 搭建Git服务器
- more than one device and emulator错误
- 周志华《Machine Learning》学习笔记(17)--强化学习
- 用最简单的过程讲述RNNs与LSTM的故事
- Android简易的自动更新(通知栏+系统下载),包含7.0系统解析安装包失败的处理
- java结构型设计模式——桥接模式