zoukankan      html  css  js  c++  java
  • vue 生命周期

    每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。(vue官方网址:https://cn.vuejs.org/v2/guide/)

    以下就是我个人的理解,如果有什么不对的或者不懂得欢迎评论

    vue生命周期一共有十一个,常用的有八种分为四个周期,每个周期有两种函数,分别是beforeCreate,created,boforeMount,mounted,beforeUpdate,updated,beforeDestory,destoryed

    还有三个特殊阶段 activated,组合缓存组件keep-alive使用,beactivated也需要结合keep-alive来使用,还有最后一个就是2.5.0以上版本增加的beforeDestory,当获取来自子孙组件发生错误时被调用。最后这三个以后再讲,今天主要是 前八个。

    第一阶段,创建阶段,与实例挂载数据相关,beforeCreate为没有准备好,在这个阶段页面还未创建对象,页面为空白的,这个阶段通常用来做loading图的展示,函数自动触发,只执行一次。

    created此处创建出dom对象,但是还未加载数据,页面会展示dom结构,函数自动触发,只执行一次。

    第二阶段,挂载阶段,与实例挂在相关beforeMount 实例创建出,但是未加载到页面,但是需要挂载时会被挂载在页面上,不会被解析

    mounted阶段,实例挂载在页面,而且被解析,此处应写数据请求,并且关闭loading图,因为页面已经加载完毕,自动触发,只执行一次

    第三阶段,更新阶段,更新dom视图渲染,beforeUpdate是渲染之前,数据会改变,update是渲染之后,数据改变,视图渲染完成这个阶段两个函数都需要调用才会触发,可以多次执行

    第四阶段,销毁阶段,beforeDestory,destoryed,这两个函数不常用,作用是实例跟行为解绑,所有操作都无法使用,有释放内存的作用,这个阶段也需要调用才会执行,可以多次执行。

    生命周期的钩子函数自动绑定this上下文实例中,因此可以使用this访问数据,对属性和方法进行运算。但是不能使用箭头函数来定义一个生命周期方法、箭头函数改变this指向

  • 相关阅读:
    url 中非法字符替换,java 正则替换
    Ubuntu 下用命令行快速打开html,mp3等文件
    JavaScript HTML DOM 入门详解
    JavaScript 表单验证入门
    javascript with关键字简单用法
    JavaScript 错误处理, Throw、Try 和 Catch入门
    使用 Navicat Premium 将 sql server 的数据库迁移到 mysql 的数据库中
    引入 ServletContextListener @Autowired null 解决办法
    tomcat启动完成执行 某个方法 定时任务(Spring)
    linux启动tomcat很久或者很慢Tomcat启动时卡在“INFO: Deploying web application directory ......”的解决方法
  • 原文地址:https://www.cnblogs.com/jickma/p/11278321.html
Copyright © 2011-2022 走看看