vue的生命周期、动画

一、vue的生命周期:

        vue的生命周期:从vue实例创建到销毁之间的各种事件

        生命周期函数=生命周期事件=生命周期钩子

        主要有八种生命周期:

    1.beforeCreate:第一个生命周期,表示实例完全被创建出来之前,会执行它。

beforeCreate() {
                console.log(this.msg);
                console.log('beforeCreate');
            },

    2.created:第二个生命周期,初始化已经完成,是第一个可以操作data,methods的生命周期

created() {
                console.log('created');
                console.log(this.msg);
            },

   3.beforeMount:第三个生命周期,挂载的虚拟的DOM,模板已经存在内存中但并没有渲染到页面上

 beforeMount() {
                console.log('beforeMount');
               
            },

 4.mounted:第四个生命周期,挂载的真实的DOM,我们可以内存中的模板已经渲染到了页面上,是实例创建的最后一个生命周期

mounted() {
                console.log('mounted');
            },

  5.beforeUpdate:第五个生命周期,data中的数据更新完成,但页面中的数据依然是旧数据

beforeUpdate() {
                console.log('beforeUpdate');
            },

 6.update:第六个生命周期,data和页面中的数据都是新的

updated() {
                console.log('updated');
            },

 7.beforeDestroy:第七个生命周期,在销毁之前的,会清空所有监听和定时器

beforeDestroy() {
                console.log('beforeDestroy');
            },

  8.beforeDestroy:第八个生命周期,最后一个生命周期,销毁完成

       destroyed() {

            }

二、vue动画

         需要使用transition 的封装组件,如:

 <transition>
            <div v-show="flag">
                {{msg}}
            </div>
        </transition>

        在进入/离开的过渡中,会有 6 个 class 切换。

1.v-enter:定义进入过渡的开始状态:

.v-enter {
            transform: translateX(500px);
        }

2.v-enter-active:定义进入过渡生效时的状态。这个类可以被用来定义进入过渡的过程时间,延迟和曲线函数。:

.v-enter-active {
            transition: all 2s;
        }

3.v-enter-to:定义进入过渡的结束状态。:

.v-enter-to {
            transform: translateX(0);
        }

4.v-leave:定义离开过渡的开始状态:

.v-leave {
            transform: translateX(0);
        }

5.v-leave-active:定义离开过渡生效时的状态,这个类可以被用来定义离开过渡的过程时间,延迟和曲线函数。:

.v-leave-active {
            transition: all 2s;
        }

6.v-leave-to:定义离开过渡的结束状态:

.v-leave-to {
            transform: translateX(-500px);
        }

#注意:其中v可以替换为你为transition 的封装组件定义的name属性:

<style>
.msg-enter {
            transform: translateX(-500px);
        }

</style>

        <transition name="msg">
            <div v-show="flag">
                {{msg}}
            </div>
        </transition>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值