VUE参考---组件切换动画
一、总结
一句话总结:
组件切换动画 直接把组件放到<transition>标签中即可
<!-- 通过 mode 属性,设置组件切换时候的 模式 --> <transition mode="out-in"> <component :is="comName"></component> </transition> <style> .v-enter, .v-leave-to { opacity: 0; transform: translateX(150px); } .v-enter-active, .v-leave-active { transition: all 0.5s ease; } </style>
1、组件切换时候的 模式?
组件切换的时候,可以给transition设置mode属性,来设置动画模式,比如out-in 先出后进,避免上一个组件没出去下一个组件进来了
<!-- 通过 mode 属性,设置组件切换时候的 模式 --> <transition mode="out-in"> <component :is="comName"></component> </transition> <style> .v-enter, .v-leave-to { opacity: 0; transform: translateX(150px); } .v-enter-active, .v-leave-active { transition: all 0.5s ease; } </style>
二、组件切换动画
博客对应课程的视频位置:
1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <meta http-equiv="X-UA-Compatible" content="ie=edge"> 8 <title>Document</title> 9 <script src="./lib/vue-2.4.0.js"></script> 10 <style> 11 .v-enter, 12 .v-leave-to { 13 opacity: 0; 14 transform: translateX(150px); 15 } 16 17 .v-enter-active, 18 .v-leave-active { 19 transition: all 0.5s ease; 20 } 21 </style> 22 </head> 23 24 <body> 25 <div id="app"> 26 <a href="" @click.prevent="comName='login'">登录</a> 27 <a href="" @click.prevent="comName='register'">注册</a> 28 29 <!-- 通过 mode 属性,设置组件切换时候的 模式 --> 30 <transition mode="out-in"> 31 <component :is="comName"></component> 32 </transition> 33 34 </div> 35 36 <script> 37 // 组件名称是 字符串 38 Vue.component('login', { 39 template: '<h3>登录组件</h3>' 40 }) 41 42 Vue.component('register', { 43 template: '<h3>注册组件</h3>' 44 }) 45 46 // 创建 Vue 实例,得到 ViewModel 47 var vm = new Vue({ 48 el: '#app', 49 data: { 50 comName: 'login' // 当前 component 中的 :is 绑定的组件的名称 51 }, 52 methods: {} 53 }); 54 </script> 55 </body> 56 57 </html>