Función de ciclo de vida de Vue (explicación detallada)

Tabla de contenido

 diagrama de ciclo de vida

función del ciclo de vida

La diferencia entre beforeCreate y created

beforeCreate crea la escena de la aplicación antes de crear

 escenarios de aplicación creados después de la creación

La diferencia entre beforeMount ymontado

 escenario de aplicación beforeMount antes del montaje

 escenario de aplicación montado

 La diferencia entre beforeUpdate y actualizado

 Escenario de aplicación antes deActualizar actualización

 escenario de aplicación actualizado después de la actualización

 La diferencia entre beforeDestroy y destruido

 beforeDestroy antes de la destrucción

 destruido

Resumir


 diagrama de ciclo de vida


 Cada gancho rojo en el ciclo de vida de la figura anterior es una etapa, y se puede escribir el código apropiado en cada etapa diferente.

función del ciclo de vida

El ciclo de vida se divide en cuatro pares, y se utilizan diferentes funciones de acuerdo con diferentes situaciones.

Entre ellos, beforeUpdate y updated se pueden ejecutar varias veces

beforeCreate, creado antes de la creación, después de la creación
beforeMount、montado antes del monte, después del monte
beforeUpdate、actualizado antes de la actualización, después de la actualización
beforeDestroy、destruido antes de la destrucción, después de la destrucción

Código HTML unificado para los siguientes cuatro escenarios de aplicación

<div id="app">
    {
   
   {myName}}
</div>

 

La diferencia entre beforeCreate y created

antes de la creación, después de la creación

beforeCreate crea la escena de la aplicación antes de crear

Código Vue:

var app = new Vue({
        el: '#app',
        data() {
            return {
                myName:'abc',
            }
        },
        beforeCreate(){
            //获取body并输出测试
            var bodyDom=document.getElementsByTagName("body")[0].innerHTML;
            console.log("created",this.myName,bodyDom);
        }
    });

Salida del navegador:

Los datos de data en beforeCreate no están definidos, created va seguido de indefinido y { {myName}} no ha sido reconocido

escenarios de aplicación  creados después de la creación

Código Vue:

var app = new Vue({
    el: '#app',
    data() {
        return {
            myName:'abc',
        }
    },
    created(){
        //获取body并输出测试
        var bodyDom=document.getElementsByTagName("body")[0].innerHTML;
        console.log("created",this.myName,bodyDom);
    }
});

Salida del navegador:

created principalmente realiza la inicialización de datos de algunos datos de la página y obtiene el valor de myName, pero el valor de {{myName}} que se muestra en segundo plano aún no se completa

 

La diferencia entre beforeMount ymontado

antes del monte, después del monte

escenario de aplicación  beforeMount antes del montaje

Código Vue:

var app = new Vue({
    el: '#app',
    data() {
        return {
            myName:'abc',
        }
    },
    beforeMount(){
            //获取body并输出测试
            var bodyDom=document.getElementsByTagName("body")[0].innerHTML;
            console.log("beforeMount",this.myName,bodyDom);
        },
    }
});

Salida del navegador:

El resultado de salida es el mismo que se crea después de la creación, antes de montar después de la creación, siento que no es muy útil

 escenario de aplicación montado

Código Vue:

var app = new Vue({
    el: '#app',
    data() {
        return {
            myName:'abc',
        }
    },
    mounted(){
            //获取body并输出测试
            var bodyDom=document.getElementsByTagName("body")[0].innerHTML;
            console.log("beforeMount",this.myName,bodyDom);
        },
    }
});

Salida del navegador:

Los datos se han renderizado en la Vista.

 La diferencia entre beforeUpdate y actualizado

Antes de la actualización, después de la actualización; diferente de los otros tres se puede repetir

 Escenario de aplicación antes deActualizar actualización

Código Vue:

var app = new Vue({
    el: '#app',
    data() {
        return {
            myName:'abc',
        }
    },
    beforeUpdate(){
            //获取body并输出测试
            var bodyDom=document.getElementsByTagName("body")[0].innerHTML;
            console.log("beforeMount",this.myName,bodyDom);
        },
    }
});

Salida del navegador:

Los datos no han cambiado antes de la actualización de datos.

 escenario de aplicación actualizado después de la actualización

Código Vue:

var app = new Vue({
    el: '#app',
    data() {
        return {
            myName:'abc',
        }
    },
    updated(){
            //获取body并输出测试
            var bodyDom=document.getElementsByTagName("body")[0].innerHTML;
            console.log("beforeMount",this.myName,bodyDom);
        },
    }
});

Salida del navegador:

Después de la actualización de datos, los datos han cambiado

 La diferencia entre beforeDestroy y destruido

antes de la destrucción, después de la destrucción

 beforeDestroy antes de la destrucción

Escenarios comúnmente aplicados:

  • claro temporizador
  • Desvincular eventos personalizados
  • Darse de baja, oyente de eventos

ninguna demostración de código específico

 destruido _

Esta función de enlace se ejecutará después de que se destruya la instancia del componente.En este momento, se destruyen todos los componentes, incluidos los subcomponentes.

No hay una demostración de código específica.

Resumir

Varias funciones del ciclo de vida tienen sus propias características y se utilizan diferentes funciones del ciclo de vida para resolver problemas de acuerdo con diferentes negocios.

Supongo que te gusta

Origin blog.csdn.net/zky__sch/article/details/132166434
Recomendado
Clasificación