对于vue的初学者来说,理解vue的生命钩子周期是很有必要的。什么是生命钩子周期呢,顾名思义就是 “实例初始化”  到  “实例被销毁” 的过程。

理解vue的生命钩子周期,我们就可以更好的在项目中运用,清楚明白在页面的初始化、页面的渲染、页面的销毁这些过程中所做的事情。

详细资料请参考:https://cn.vuejs.org/v2/api/#beforeCreate

<script>
export default{
    name:"test",
    data(){
        return{

        }
    },
    beforeCreate(){
        //在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。
        console.log(1);
    },
    created(){
        //在实例创建完成后被立即调用。
        //在这一步,实例已完成以下的配置:数据观测 (data observer),属性和方法的运算,watch/event 事件回调。
        //然而,挂载阶段还没开始,$el 属性目前不可见。
        console.log(2)

    },
    beforeMount(){
        //在挂载开始之前被调用:相关的 render 函数首次被调用。
        //该钩子在服务器端渲染期间不被调用。
        console.log(3)
    },
    mounted(){
        //el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。
        console.log(4)
        this.showExample(); //调用showExample方法
        var _this = this;

        //mounted 不会承诺所有的子组件也都一起被挂载。
        //如果你希望等到整个视图都渲染完毕,可以用 vm.$nextTick 替换掉 mounted
        //该钩子在服务器端渲染期间不被调用。
        this.$nextTick(function () {
            // 这里的代码将会在整个视图都渲染完毕后再执行(包括子组建)
            _this.showExample()  //调用showExample方法
        })

    },
    beforeDestroy(){
        //实例销毁之前调用。在这一步,实例仍然完全可用。
        //该钩子在服务器端渲染期间不被调用。
        console.log(7)
    },
    destroyed(){
        //Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。
        //该钩子在服务器端渲染期间不被调用。
        console.log(8)
    },
    methods:{
        //这是名为showExample的一个方法/函数
        showExample(){
            console.log("example")
        }
    }
}
</script>
01-13 10:07