代码实现有问题,请老师解答,谢谢

来源:2-5 组件和元素切换动画的实现

叫我丽红

2021-10-26 16:52:00

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>lesson 10</title>

    <style>

        .v-enter-from,

        .v-leave-to{

            opacity: 0;

        }

        .v-enter-active,

        .v-leave-active{

            transition: opacity 3s ease-in;

        }

        .v-enter-to,

        .v-leave-from{

            opacity: 1;

        }

    </style>

    <script src="https://unpkg.com/vue@next"></script>

</head>

<body>

    <div id="root"></div>

</body>

<!-- 样式绑定语法 -->

<script>

    // 多个单元素标签之间的切换

    // 多个单组件之间的切换

    const ComponentA = {

        template:'<div>hello world</div>'

    }

    const  ComponentB = {

        template:'<div>bye world</div>'

    }


    const app = Vue.createApp({

        data(){

            return{

                component:' component-a'

            }

        },

        methods:{

            handleClick(){

                if(this.component === 'component-a'){

                    this.component='component-b';

                }else{

                    this.component='component-a';

                }

            },

        },

        components:{

            'component-a':ComponentA,

            'component-b':ComponentB,

        },

        template:`

            <div>

                <transition mode="out-in" appear>

                    <component :is="component" />

                </transition>

                <button @click="handleClick">切换</button>

            </div>

        `

    })


    const vm = app.mount('#root');

</script>

</html>


写回答

1回答

好帮手慕慕子

2021-10-26

同学你好,因为data中定义component的属性值前面有一个空格,导致无法实现效果,去掉就好了。示例:

https://img.mukewang.com/climg/6177c4ec0931359c07550267.jpg

祝学习愉快~

0

0 学习 · 15276 问题

查看课程