zoukankan      html  css  js  c++  java
  • vue钩子函数

    生命周期的过程阶段(钩子函数):

    1. beforeCreate:实例、组件通过new Vue()创建出来之后会初始化事件和生命周期,然后就会执行beforeCreate钩子函数,此时,数据还没有挂载,只是一个空壳,无法访问到数据和真实的dom,一般不做操作。
    2. created:挂载数据、绑定时间等等,然后执行created函数,此时可以用到数据,也可以更改数据,更改数据时不会触发updated函数,这是在渲染前倒数第二次更改数据的机会,不会触发其他的钩子函数,一般可以在这里做初始数据的获取
    3. beforeMount:然后开始找实例或者组件对应的模板,编译模板为虚拟dom放入到render函数中准备渲染,然后执行beforeMount钩子函数,在该函数中虚拟dom已经创建完成,马上就要渲染。此时也可以更改数据,不会触发updated,这是渲染前最后一次更改数据的机会,不会触发其他的钩子函数,一般可以在这里做初始数据的获取
    4. mounted:接下来开始render,渲染出真实dom,然后执行mounted钩子函数,此时,组件已经出现在页面中,数据、真实dom都已经处理好了,事件都已挂载,此时可以操作真实dom等等...
    5. beforeUpdate:当组件或实例的数据更改后,会立即执行beforeUpdate,然后vue的虚拟dom机制会重新构建虚拟dom与上一次的虚拟dom树利用diff算法进行对比之后重新渲染,一般不做其他操作
    6. updated:当更新完成后,执行updated,数据已经更改完成,dom也重新render完成,可以操作更新后的虚拟dom
    7. beforeDestory:当经过某种途径调用$destory方法后,立即执行beforeDestory,一般做这些操作,比如:清除计时器、清除非指令绑定的事件等等
    8. destoryed:组件的数据绑定。监听...销毁后只剩下空壳,此时执行destoryed,也可以做一些例如清除计时器、清除非指令绑定的事件等操作。
  • 相关阅读:
    比较全局变量、全局静态变量、局部变量、局部静态变量的区别
    《Effective C++》——条款20:宁以pass-by-reference-to-const替换pass-by-value
    《Effective C++》——条款17:以独立语句将newed对象置入智能指针
    auto_ptr类
    选择排序
    归并排序
    《Effective C++》——条款08:别让异常逃离析构函数
    使用ResourceBundle读取配置文件
    CSS cursor 属性改变鼠标的样式
    JDBC preparedStatement分页和统计,批处理和事务
  • 原文地址:https://www.cnblogs.com/kevoin/p/10756513.html
Copyright © 2011-2022 走看看