【vue】有关生命周期的一道面试题


有以下代码,打印的结果是:

new Vue({
    data: {
        a: 'first',
        b: 'second'
    },
    created: function () {
        console.log(this.a);
    },
    mounted() {
        console.log(this.b);
    }
})

这道题草率了啊家人们!其实我做题的时候隐隐觉得肯定有陷阱,但又看不出哪里有,最后一翻答案,真的是!

这个vue实例没有el挂载点!好家伙,没个一千度的眼镜都看不出来!草率了,还是草率了。

发现问题以后答案就显而易见了。

众所周知,created是在创建实例以后,data初始化数据以后执行。mounted是在dom挂载以后,页面渲染以后执行。

没有设置el,就不能dom挂载,mounted钩子也就不能被触发了!