Vue生命周期(中文版本)

1、整理的Vue生命周期中文图

生命周期的中文图解

2、我的理解的Vue生命周期

1.看中文简介版本须要对照下面给的代码,根据注解和代码去对应

2.首先要知道,绑定渲染的dom不止有el中绑定形式,还有实例对象调用$mount

3.绑定后会接着往下找看有没有template 设置,有和没有会执行两种,也就是说
有template 就只会渲染template中的内容,而且覆盖掉el中的内容

4.可是即便向第三条那样使用template,el会被覆盖,也必须写el,可是能够不用
再里面写操做,缘由是声明周期先找el,在根据渲染el 和template在选择

5.template 只能有一个根元素,想多个就给有if 或者show 弄成单个显示

6.beforeCreate、created、beforeMount、mounted 他们四个是建立生命周期一
条龙,后续当咱们去改变数据,这些声明周期都不会在执行,除非刷新页面从新
让生命周期继续;

7.而改变值让页面跟着一块儿变化的是beforeUpdate 、updated他俩在虚拟dom
中,改变就触发,但最好不用,由于有watch 和计算属性均可以作到,因此这个
生命周期中通常不作操做

8.这里要最重要的说明beforeUpdate 、updated第一次刷新页面的生命周期不执
行。只有数据更新虚拟dom监听到才执行

3、对照理解代码

1.打上断点更方便理解
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.jsdelivr.net/npm/vue@2.5.22/dist/vue.js"></script>

</head>

<body>
<div id="app">
    <button @click="dom">增长dom</button>
    <p v-for="i,index in list" ref="plist">{{i}}</p>
    <p ref="pHtml">我好</p>

    <!--<template id="ss">-->
        <!--template 渲染区域-->
    <!--</template>-->
</div>

<script>

    // 建立 Vue 实例,获得 ViewModel
    // vm.$mount('#app') 不经常使用,通常用el
    var vm = new Vue({
        el: '#app',
        // template:'#ss', template 渲染
        data: {
            list: ['as', 'bs', 'cs'],
        },
        methods:{
          dom(){
            this.list.push('ds');
          },
        },
        beforeCreate(){
            debugger;
        },

        created(){
            debugger;

        },

        beforeMount(){
            debugger;
        },

        mounted(){
            debugger;
        },


        beforeUpdate(){
            debugger;
        },

        updated(){
            debugger;

        },

        beforeDestroy(){
            debugger;

        },

        destroyed(){
            debugger;
        }

    });
    
</script>
</body>

</html>
相关文章
相关标签/搜索