前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vue动画之多个元素或组件的动画效果

Vue动画之多个元素或组件的动画效果

作者头像
十月梦想
发布2018-10-09 15:23:03
1.8K0
发布2018-10-09 15:23:03
举报
文章被收录于专栏:十月梦想十月梦想

        前面我们看的是单个元素的过渡效果,我们看一下多个元素或者组件的过渡

多个元素过渡

代码语言:javascript
复制
<div id="app">
    <transition>
        <p v-if="show" key="hell">Hello 十月梦想!</p>
        <p v-else key="bye">Bye! Bye! 十月梦想!</p>
    </transition>
</div>

        动态控制if的数据控制显示

代码语言:javascript
复制
 var app=new Vue({
        el:"#app",
        data:{
            type:"item",
            show:true
        },
        methods:{
            qiehuan:function(){
                this.show=!this.show
            }
        }

    })
</script>

        多个元素我们需要在元素上指定唯一的key值,否则是vue会进行dom复用没有效果,加上唯一的key则可以解决这个问题!

多组件过渡

        多个组件的过渡和元素一样,定义两个组件,把transition中元素替换组件就行!我们说一下实现动态组件,进行过渡

动态组件在之前我们已经介绍过!

代码语言:javascript
复制
<transition mode="out-in">
    <component :is="type"></component>
</transition>
<button type="button" @click="qh">切换</button>

    在动态组件绑定一个控制的属性(绑定is)

        js新建的组件,以及切换的方法

代码语言:javascript
复制
Vue.component('item',{
    template:`
        <p>item</p>
    `
})
Vue.component('item-one',{
    template:`
        <p>item-one</p>
    `
})
var app=new Vue({
    el:"#app",
    data:{
        type:"item",
        show:true
    },
    methods:{
        qh:function(){
          this.type=this.type=='item'?"item-one":"item";
        }
    }

})
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-9-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 多个元素过渡
  • 多组件过渡
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档