+
80
-

vue如何在数据改变的时候发生过渡动画?

vue如何在数据改变的时候发生过渡动画?


网友回复

+
0
-

使用transition标签实现:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
	<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum=1.0,minimum=1.0,user-scalable=0" />
  
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/vue@2.6.1.js"></script>

     <style>
     
    .leftNav {
        height: 90vh;
        width: 200px;
        background-color: #ccc;
    }
 
    /*设置动画*/
    .fade-enter,
    .fade-leave-to {
        transform: translateX(-100%);
    }
 
    .fade-enter-active,
    .fade-leave-active {
        transition: 1s;
    }
 
    .fade-enter-to {
        transform: translateX(0)
    }

      </style>
</head>
<body>
    <div id="app">
      
    <button @click="show = !show">{{txt}}</button>
    <transition name="fade">
        <div class="leftNav" v-show="show">左侧边栏</div>
    </transition>

    </div>
    <script>
    var Main =  
      {
        data() {
            return {
                show: true,
            }
        },
        computed: {
            txt() {
                return this.show ? '收起' : '展开'
            }
        },
    }

    var Ctor = Vue.extend(Main)
    new Ctor().$mount("#app")
    </script>
</body>
</html>

我知道答案,我要回答