在 Vue 中created 和 mounted 的区别

Posted HZM_无止境

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在 Vue 中created 和 mounted 的区别相关的知识,希望对你有一定的参考价值。


简单理解区别 :

1.created方法是在初始化页面之前对dom的操作。

2.mounted方法是在初始化页面之后对dom的操作。

为什么要有这个区分?

因为有些需求就是要在页面加载之后才能请求到的,比如id,js中用document.getElementById("xxx")


一张表格来详细了解一下生命周期钩子函数

生命周期钩子组件状态最佳实践
beforeCreate实例初始化之后,this指向创建的实例,不能访问到data、computed、watch、methods上的方法和数据常用于初始化非响应式变量
created实例创建完成,可访问data、computed、watch、methods上的方法和数据,未挂载到DOM,不能访问到$el属性,$ref属性内容为空数组常用于简单的ajax请求,页面的初始化
beforeMount在挂载开始之前被调用,beforeMount之前,会找到对应的template,并编译成render函数-
mounted实例挂载到DOM上,此时可以通过DOM API获取到DOM节点,$ref属性可以访问常用于获取VNode信息和操作,ajax请求
beforeupdate响应式数据更新时调用,发生在虚拟DOM打补丁之前适合在更新之前访问现有的DOM,比如手动移除已添加的事件监听器
updated虚拟 DOM 重新渲染和打补丁之后调用,组件DOM已经更新,可执行依赖于DOM的操作避免在这个钩子函数中操作数据,可能陷入死循环
beforeDestroy实例销毁之前调用。这一步,实例仍然完全可用,this仍能获取到实例常用于销毁定时器、解绑全局事件、销毁插件对象等操作
destroyed实例销毁后调用,调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁-

以上是关于在 Vue 中created 和 mounted 的区别的主要内容,如果未能解决你的问题,请参考以下文章

vue生命周期中created和mounted的区别

Vue在created异步请求数据,在mounted中获取不到

在 Vue 中created 和 mounted 的区别

Vue生命周期中mounted和created的区别

Vue生命周期中mounted和created的区别

vue生命周期及mounted和created的区别