美文网首页
Vue动画之三: 多元素 、多组件

Vue动画之三: 多元素 、多组件

作者: 婷诗漾 | 来源:发表于2018-09-05 17:12 被阅读0次

今天给大家, 介绍一下, 怎样在Vue中实现多元素和多组件的动画。
1、多元素实现的代码
注意: transition-group 标签, 包含多个元素, 使用它,必须对子组件添加key 属性。否则报错。

<head>
<meta charset="UTF-8">
<title> Vue 中夺多个元素 或组件的过渡</title>
<script src = "vue.js"></script>
<style>
    
    .v-enter, .v-leave-to { 
        opacity : 0;    
    }

    .v-enter-active, .v-leave-active {
        transition: opacity 1s;

    }

</style>

</head>
<body>

<!-- 必须得 key 值, 要不然会报错 -->

<div id = "myApp"> 
    <transition-group>
        
        <div v-if = "show" key = "hello" >
            Good morning, world!
        </div>

        <div v-else key = "bye">
            Good evening, World!
        </div>


    </transition-group>
    <button @click = "handleClick"> Toggle </button>
    

</div>
<script>
    
    new Vue({
        el : "#myApp",
        data : {
            show : true 
        },
        methods : {

            handleClick : function() {
                this.show = !this.show
            }

        }
    }) 

</script>
</body>

2、在组件中实现动画
注: transition 标签
mode 是过渡模式:
in-out : 先进来, 后出去
out-in : 先出去, 后进来;
:is , vue中动态进行换组件,:is = "组件名称"

<head>
<meta charset="UTF-8">
<title> Vue 中夺多个元素 或组件的过渡</title>
<script src = "vue.js"></script>
<style>
    
    .v-enter, .v-leave-to { 
        opacity : 0;    
    }

    .v-enter-active, .v-leave-active {
        transition: opacity 1s;
    }

</style>

</head>
<body>

<!-- 必须得 key 值, 要不然会报错 -->

<div id = "myApp"> 

    <transition mode = "out-in">

        <component :is="type"></component>

    </transition>

    <button @click = "handleClick"> Toggle </button>

</div>
<script>

    Vue.component('child', {
        template : "<div> Child</div>"
    });

    Vue.component("child-one", {
        template : "<div> Child-One </div>"
    })

    
    new Vue({
        el : "#myApp",
        data : {
            type : "child" 
        },
        methods : {

            handleClick : function() {
                this.type = this.type === "child" ? "child-one" : "child"
            }

        }
    }) 
</script>

</body>

相关文章

  • Vue之transition

    Vue的transition实现动画效果 Vue 提供了 transition 的封装组件,可以给任何元素和组件添...

  • Vue中多个元素或组件的过渡

    Vue中多个元素的过渡 Vue中多个组件的过渡(通过动态组件实现组件的过渡动画效果)image.png

  • Vue动画之三: 多元素 、多组件

    今天给大家, 介绍一下, 怎样在Vue中实现多元素和多组件的动画。1、多元素实现的代码注意: transition...

  • 17.vue中多个元素或者多个组件的过渡动画列表过渡

    1.多个元素过渡动画 2.多个组件的过渡动画 3.vue中的列表过渡

  • 08-Vue过渡动画

    一、基本介绍 1, 组件 (1)如果某个元素或者组件需要使用过渡动画效果,只需使用 vue...

  • vue获取DOM元素,触发事件

    原生元素 原生元素可以直接拿到组件实例,直接click()即可 vue组件 vue组件需要通过$el获取组件实例,...

  • vue起步(4)之组件

    vue组件:组件主要是扩展了HTML元素,使dom元素更加灵活,慢慢深入会发现组件是vue构建项目所必备的。全局组件:

  • Vue第三方插件使用

    1.加载数据loading组件 vue-infinite-loading2.loading动画组件 vue-spi...

  • Vue动画

    vue动画 1. vue不能直接实现动画,只提供动画各阶段需要的class 2. 组件提供...

  • Vue.js可复用的组件

    什么是Vue组件 组件可以扩展 HTML 元素,封装可重用的代码。在较高层面上,组件是自定义元素,Vue.js 的...

网友评论

      本文标题:Vue动画之三: 多元素 、多组件

      本文链接:https://www.haomeiwen.com/subject/qdzawftx.html