搜尋

首頁  >  問答  >  主體

javascript - Vue 過度鉤子的問題

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script src="//cdn.bootcss.com/vue/2.3.2/vue.min.js"></script>
    <style>
        body {
            overflow: hidden;
        }
        .active {
            animation: slide 2s linear;
        }
        .transition {
            position: relative;
            top: 100px;
            left:0;
        }
        @keyframes slide {
            0% {
                transform: translate(120%, 0);
            }

            100% {
                transform: translate(-50%, 0);
            }
        }
    </style>
</head>
<body>
<p id="app">
    <template v-for="(item, index) of items">
        <transition  enter-active-class="active" @after-appear="xx(index)" appear="">
            <p class="transition" v-show="item.show" :style="{animationDuration: '3s'}">{{ item.msg }}</p>
        </transition>
    </template>
</p>
<script>

let vm = new Vue({
    el: '#app',
    data () {
        return {
            items: [
                {
                    show: true,
                    msg: 111,
                    time: new Date()*1,
                    ms: '30'
                },
                {
                    show: true,
                    msg: 222,
                    time: new Date()*1,
                    ms: '30'
                },
            ]
        }
    },
    methods: {
        xx (index) {
            console.log(index)
            let data = this.items[index];   // 记录哪个对象
            this.items.splice(index, 1);    // 删除对应的
                // this.items.push(data);
            
        },
    }
});



</script>


</body>
</html>

大家複製貼上來運行一下。

用官方提供的這個事件 @after-appear

當動畫結束了粗髮。但是控制台印出來的是0, 應該印0和1才對。

其實我想實現的是當動畫結束了,繼續push上去讓他繼續動畫。

滿天的星座滿天的星座2747 天前582

全部回覆(1)我來回復

  • phpcn_u1582

    phpcn_u15822017-05-18 11:01:35

    有人知道什麼問題嗎

    回覆
    0
  • 取消回覆