目录

一、生命周期概念

二、浏览器渲染过程

三、生命周期中的浏览器渲染

beforeCreate阶段

created阶段

beforeMount阶段

mounted阶段

四、使用场景

五、常见相关问题

一些页面跳转后, 一些基础数据接口没有重新请求

一、生命周期概念

通俗地讲,生命周期即Vue实例或组件从创建到被消灭的一系列过程,中间的各个节点被称为钩子.vue.js中created方法是一个生命周期钩子函数,
一个vue实例被生成后会调用这个函数。
一个vue实例被生成后还要绑定到某个html元素上,
之后还要进行编译,然后再插入到document中。
每一个阶段都会有一个钩子函数,方便开发者在不同阶段处理不同逻辑。一般可以在created函数中调用ajax获取页面初始化所需的数据。

二、浏览器渲染过程

要深刻理解生命周期的各个节点,就必须了解浏览器的渲染过程

三、生命周期中的浏览器渲染

生命周期 是否获取dom节点 是否获取data 是否获取methods
beforeCreate
created
beforeMount
mounted

beforeCreate阶段

对浏览器来说,整个渲染流程尚未开始或者说准备开始,对vue来说,实例尚未被初始化,data observer和 event/watcher也还未被调用,在此阶段,对data、methods或文档节点的调用现在无法得到正确的数据。

created阶段

对浏览器来说,渲染整个HTML文档时,dom节点、css规则树与js文件被解析后,但是没有进入被浏览器render过程,上述资源是尚未挂载在页面上,也就是在vue生命周期中对应的created阶段,实例已经被初始化,但是还没有挂载至 $el上,所以我们无法获取到对应的节点,但是此时我们是可以获取到vue中data与methods中的数据的

beforeMount阶段

实际上与created阶段类似,节点尚未挂载,但是依旧可以获取到data与methods中的数据。

mounted阶段

对浏览器来说,已经完成了dom与css规则树的render,并完成对render tree进行了布局,而浏览器收到这一指令,调用渲染器的paint()在屏幕上显示,而对于vue来说,在mounted阶段,vue的template成功挂载在$el中,此时一个完整的页面已经能够显示在浏览器中,所以在这个阶段,即可以调用节点了(关于这一点,在笔者测试中,在mounted方法中打断点然后run,依旧能够在浏览器中看到整体的页面)。

四、使用场景

通过浏览器的渲染过程,可以总结出created和mounted的使用场景

    created:通常用于初始化某些属性值,例如data中的数据,然后再渲染成视图。
    mounted:通常在初始化页面完成后,对html的dom节点进行需要的操作。

因此,在created中,是无法进行DOM操作的,而mounted可以获取渲染出来的所有属性值。

五、常见相关问题

一些页面跳转后, 一些基础数据接口没有重新请求

举个简单的例子created(){ this.init();}, mounted() {this.init();},methods: {init() {this.getList();this.getdetailById();this.getFicts();}},
}

有用请点赞,养成良好习惯!

疑问、交流、鼓励请留言!


Vue中created和mounted详解相关推荐

  1. keep alive PHP,vue中keep-alive使用方法详解

    这次给大家带来vue中keep-alive使用方法详解,vue中keep-alive使用的注意事项有哪些,下面就是实战案例,一起来看一下. 1.keep-alive的作用以及好处 在做电商有关的项目中 ...

  2. created写法_在vue中created、mounted等方法使用小结

    created:html加载完成之前,执行.执行顺序:父组件-子组件 mounted:html加载完成后执行.执行顺序:子组件-父组件 methods:事件方法执行 watch:watch是去监听一个 ...

  3. Vue 中的 ref 属性详解

    Vue 中的 ref 属性详解 我们先来读一下vue的官方文档 我们来分析官方文档 首先ref的引用是相当于一个DOM节点(如果是子组件则指向的是其实例),而且是一个string类型的值. 通俗的将就 ...

  4. Vue中process.env.NODE_ENV详解

    一文弄懂如何在 Vue 中配置 process.env.NODE_ENV 最近在研习 vue.config.js 文件,发现一行,甚是费解. process.env.NODE_ENV 查阅资料后,发现 ...

  5. vue 中 created 和 mounted 钩子生命周期 问题

    正如前面一篇博客中遇到的钩子生命周期问题 ,如果对基本的原理不清楚 就很难弄懂 这个问题 到底是什么原因造成的.所以今天我们就来简单的研究下 这两个钩子到底是个啥意思 created  钩子 moun ...

  6. 【CSDN软件工程师能力认证学习精选】Vue 中的事件处理机制详解

    CSDN软件工程师能力认证(以下简称C系列认证)是由中国软件开发者网CSDN制定并推出的一个能力认证标准.C系列认证历经近一年的实际线下调研.考察.迭代.测试,并梳理出软件工程师开发过程中所需的各项技 ...

  7. Vue 中的 Render 全面详解 (渲染函数 JSX)

    相信大家都或多或少的在 code 中见过 或使用过 Render,如果你对它还是一脸懵逼,那就快上车!今天就带你来盘它.附 Element 表格自定义全选示例. 文章目录 一.Render 的资料简介 ...

  8. Vue中keep-alive的使用详解

    1.概念: keep-alive是Vue的内置组件,当它包裹动态组件时,会缓存不活动的组件实例,而不是销毁. 2.作用: 用来缓存组件,避免多次加载相同的组件,减少性能消耗,提高用户体验. 3.使用方 ...

  9. VUE中 ref $refs 使用详解,扩展到$parent 、$children 的使用

    $refs 的使用方法就是在元素或组件标签上添加ref属性指定一个引用信息,引用信息将会注册在父组件的$refs对象上,在js中使用$refs来指向DOM元素或组件实例: 应用一:在DOM元素上使用$ ...

最新文章

  1. 堆和栈的主要区别由以下几点:
  2. 在线作图丨如何画一个优美的相关性热图
  3. 1.4 以查询取代临时变量
  4. java xml特殊字符处理_dom4j特殊字符处理
  5. uedit富文本编辑器
  6. Volatile可见性、缓存一致性协议、指令重排、内存屏障 - 手写笔记
  7. (转)RabbitMQ学习之Headers交换类型(java)
  8. C#写的ftp上传类
  9. 非线性动力学_利用非线性动力学系统研究混沌现象
  10. ImportError: DLL load failed while importing Qsci
  11. vue+element 下拉框回显时间少一天
  12. 观天利器-stellarium
  13. Python开发培训怎么样?
  14. Win10 1709 无法访问局域网共享问题及解决
  15. 掌控堆栈确保系统稳定 IAR技术手册翻译
  16. 全差分运放阻抗匹配计算(四)
  17. 纯CSS实现回到顶部的功能
  18. 自定义复选框checkbox样式
  19. 无穷小量究竟是否为零
  20. excel 文件工作表保护密码破解

热门文章

  1. 【Linux】基础开发工具的简单使用——yum/vim/gcc/gdb/make/git
  2. IDC中国区副总裁武连峰:打造数据驱动的未来创新企业
  3. 靠谱的快速入门机器学习和深度学习路线
  4. eclipse上安装Swing插件编写窗口程序
  5. 加入sap这个行业之前的工作和生活
  6. OpenGL基础37:反射与折射
  7. android gif第三方,Gboard个性化GIF定制功能终于登陆Android客户端
  8. 网易轻舟微服务大升级,突破在线业务中台的异构挑战
  9. “过了腊八就是年” 中国各地举办民俗活动共庆腊八节
  10. 1688API 接入说明,Onebound数据