初识Vue生命周期函数

博主开始折腾Vue,结合之前折腾React的经历,此次只谈Vue的生命周期函数。介绍了Vue官方文档给出的生命周期示意图,重点解析了beforeCreate和created两个生命周期函数,包括其调用时机及初始化完成的内容。

最近开始瞎折腾Vue,感觉良好,因为之前折腾过React,先不说这两者的关系,现在只谈谈Vue的生命周期函数。在Vue的官方文档上给出了Vue生命周期的示意图,官网生命周期函数示意图

beforeCreate

该生命周期函数在初始化Events和Lifecycle后调用,该函数调用时el和data还未初始化,由以下代码可以推断出

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>生命周期函数</title>
    <script src="vue.js"></script>
</head>
<body>
    <div id="app">{{demo1}}</div>
    <script>
        let vm = new Vue({
            el: '#app',
            data: {
                demo1: 'demo1',
                demo2: 'demo2'
            },
            beforeCreate: function () {
                console.log('beforeCreate='+this.demo1+ '==' +this.$el);
                // beforeCreate=undefined==undefined el和data未被初始化
            }
        });
    </script>
</body>
</html>

以下内容只给出JavaScript代码

根据Vue源码,在beforeCreate调用时完成了下列内容的初始化:initLifecycle(vm); initEvents(vm); initRender(vm);

created

该生命周期函数在初始化injections和reactivity后调用

let vm = new Vue({
    el: '#app',
    data: {
        demo1: 'demo1',
        demo2: 'demo2'
    },
    beforeCreate: function () {
        console.log('beforeCreate='+this.demo1+ '==' +this.$el);
    },
    created: function () {
        console.log('created='+this.demo1+ '==' +this.$el);
        // created=demo1==undefined data已经初始化, el未初始化
    },
});

该函数执行时,下列内容初始化完成
initInjections(vm); // resolve injections before data/props
initState(vm);
initProvide(vm); // resolve provide after data/props

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值