经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » Vue.js » 查看文章
vue 项目实战 (生命周期钩子)
来源:cnblogs  作者:huangenai  时间:2018/9/25 20:09:51  对本文有异议

开篇先来一张图

下图是官方展示的生命周期图

 

Vue实例的生命周期钩子函数(8个)
        1. beforeCreate
              刚 new了一个组件,无法访问到数据和真实的dom,基本上这个好像不能干啥
        2. created
              data属性完成了赋值,可以对数据进行修改但是不会触发updated,在这里可以做初始数据的获取
        3. beforeMount
              render准备要渲染了,函数中虚拟dom已经创建完成,这时候改变数据也不会触发update,在这里可以做初始数据的获取
        4. mounted
              开始render,渲染出真实dom,执行mounted钩子函数,组建已经出现在页面中,数据,事件,都DOM都处理好了。这里你                可以改是进行真实的DOM操作
        5. beforeUpdate
              组件,实例数据更新之前会执行的函数,虚拟DOM会重新构建虚拟DOM,与上一次的虚拟DOM对比后重新渲染。切记不可                  进行数据修改否则会出现死循环
        6. updated
              更新完会执行的函数,切记不可进行数据修改否则会出现死循环
        7. beforeDestroy
              实例被销毁之前会执行的函数,做善后的工作,清除计时器,清除非指令绑定的事件等等
        8. destroyed
              实例被销毁后会执行的函数,也可以做善后工作。

  1. <template>
  2. <div class="hello">
  3. Hello World!
  4. </div>
  5. </template>
  6.  
  7. <script>
  8. export default {
  9. name: "HelloWorld",
  10. data() {
  11. return {
  12. msg: "Welcome to Your Vue.js App"
  13. };
  14. },
  15. beforeCreate: function() {
  16. console.log("data属性光声明没有赋值的时候");
  17. },
  18. created: function() {
  19. console.log("data属性完成了赋值");
  20. },
  21. beforeMount: function() {
  22. console.log("页面上的{{name}}还没有被渲染成真正的数据");
  23. },
  24. mounted: function() {
  25. console.log("页面上的{{name}}被渲染成真正的数据");
  26. },
  27. beforeUpdate: function() {
  28. console.log(" 数据(data属性)更新之前会执行的函数");
  29. },
  30. updated: function() {
  31. console.log("数据(data属性)更新完会执行的函数");
  32. },
  33. beforeDestroy: function() {
  34. console.log("实例被销毁之前会执行的函数");
  35. },
  36. destroyed: function() {
  37. console.log("实例被销毁后会执行的函数");
  38. }
  39. };
  40. </script>
  41.  
  42. <style scoped>
  43. </style>

console这样一个输出顺序:

 

大概这样一个 生命周期钩子函数执行的顺序,包括我之前是用angular开发跟vue一样 他也有自己的生命周期钩子函数。

生命周期简单来说就是一个组件从创建到初始化到销毁的一个过程,在这个过程中有这些生命周期钩子函数我们可以更方便的去操作整一个组件。

 

此随笔乃本人学习工作记录,如有疑问欢迎在下面评论,转载请标明出处。

如果对您有帮助请动动鼠标右下方给我来个赞,您的支持是我最大的动力。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号