Vue 全部生命周期组件整理

2022-10-29 16:32:16 浏览数 (1)

前言

今天继续加油学习,今天整理一下VUE中生命周期那有些,平且依次说明给个的使用场景以及作用。嘻嘻嘻,让我们一起学起来好吧~~~come

生命周期

beforeCreate: 在创建组件之前使用;在实例初始化之后,进行数据侦听和事件/侦听器的配置之前同步调用。

代码语言:javascript复制
beforeCreate:function(){
                //组件创建之前
                console.log(this)
            }

created:在创建之后使用;

使用该组件,就会调用created方法,

在created这个方法中可以操作后端的数据 数据驱动视图;

应用:发送ajax请求

代码语言:javascript复制
  created:function(){
              console.log(this.msg)
          },

beforeMount:挂载数据到DOM之前会调用

在挂载开始之前被调用:相关的 render 函数首次被调用。

该钩子在服务器端渲染期间不被调用。

代码语言:javascript复制
         beforeMount:function(){
             console.log(document.getElementById('app'));
         },

mounted:挂载数据到DOM之后会调用Vue作用之后的DOM 操作DOM

实例被挂载后调用,这时 el 被新创建的 vm.el 替换了。如果根实例挂载到了一个文档内的元素上,当 mounted 被调用时 vm.el 也在文档内。

代码语言:javascript复制
mounted:function(){
        console.log(document.getElementById('app'));
        }, 

beforeUpdate:在更新DOM之前 调用该钩子 应用:可以获取原始的DOM

在数据发生改变后,DOM 被更新之前被调用。这里适合在现有 DOM 将要被更新之前访问它,比如移除手动添加的事件监听器。

该钩子在服务器端渲染期间不被调用,因为只有初次渲染会在服务器端进行。

代码语言:javascript复制
beforeUpdate:function(){
            //在更新DOM之前 调用该钩子 应用:可以获取原始的DOM
             console.log(document.getElementById('app').innerHTML);
        },

updated:在更新DOM之后 调用该钩子 应用:可以获取最新的DOM

在数据更改导致的虚拟 DOM 重新渲染和更新完毕之后被调用。

当这个钩子被调用时,组件 DOM 已经更新,所以你现在可以执行依赖于 DOM 的操作。然而在大多数情况下,你应该避免在此期间更改状态。如果要相应状态改变,通常最好使用计算属性或 watcher取而代之。

代码语言:javascript复制
     updated:function(){
       console.log(document.getElementById('app').innerHTML);
          },

beforeDestroy:

  • 实例销毁之前调用。在这一步,实例仍然完全可用。

该钩子在服务器端渲染期间不被调用。

代码语言:javascript复制
beforeDestroy:function(){
                console.log('beforeDestroy')
            },

destroyed:

  • 实例销毁后调用。该钩子被调用后,对应 Vue 实例的所有指令都被解绑,所有的事件监听器被移除,所有的子实例也都被销毁。

该钩子在服务器端渲染期间不被调用。

代码语言:javascript复制
destroyed:function(){
               console.log('destroyed')
            },

activated: 用于组件激活的功能

代码语言:javascript复制
    activated:function(){
               console.log('组件被激活了')
            },

deactivated:用于组件被停用

代码语言:javascript复制
deactivated:function(){
               console.log('组件被停用了')
            }

0 人点赞