位置: IT常识 - 正文

Vue中created和mounted详解(vue中created和mounted)

编辑:rootadmin
Vue中created和mounted详解

目录

一、生命周期概念

二、浏览器渲染过程

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

beforeCreate阶段

created阶段

beforeMount阶段

mounted阶段

四、使用场景

五、常见相关问题

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

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

推荐整理分享Vue中created和mounted详解(vue中created和mounted),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue中created和mounted,vue中created和mounted发起请求有啥区别,vue中created和mounted发起请求有啥区别,vue中created和mounted哪个先执行,vue中created和data执行先后顺序,vue中created和mounted的区别,vue中created和mounted哪个先执行,vue中created和mounted,内容如对您有帮助,希望把文章链接给更多的朋友!

二、浏览器渲染过程

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

构建DOM树构建css规则树,根据执行顺序解析js文件。构建渲染树Render Tree渲染树布局layout渲染树绘制三、生命周期中的浏览器渲染created:已创建,在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。mounted:已挂载,在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些操作。通常created使用的次数多,而mounted是在一些插件或组件的使用中进行操作,比如插件chart.js的使用: var ctx = document.getElementById(ID);通常会有这一步,而如果你写入组件中,你会发现在created中无法对chart进行一些初始化配置,一定要等这个html渲染完后才可以进行,那么mounted就是不二之选。生命周期是否获取dom节点是否获取data是否获取methodsbeforeCreate否否否created否是是beforeMount否是是mounted是是是beforeCreate阶段

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

created阶段Vue中created和mounted详解(vue中created和mounted)

对浏览器来说,渲染整个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(); } },}

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

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


本文链接地址:https://www.jiuchutong.com/zhishi/298955.html 转载请保留说明!

上一篇:FCN全卷积网络理解及代码实现(来自pytorch官方实现)(全卷积网络fcn详解)

下一篇:CSS实现文字颜色渐变(css实现文字颜色渐变)

  • 培养数据思维,从每天的各种数据报表开始(培养数据思维的方式有哪些)

  • python for(python for in用法)

  • 鸿蒙桌面相册名字怎么去掉(鸿蒙桌面相册名称怎么改)

  • 苹果13怎么充电(苹果13充电线配什么充电头)

  • tim的空间动态在哪(tim空间动态怎么设置权限)

  • 智能传感器在交互信息能力方面的特点(智能传感器在交互信息能力方面的特点是)

  • ios安装描述文件安全吗(ios安装描述文件失败)

  • ipad教育版与普通版区别(ipad2021教育版和普通版有区别吗)

  • 微信不是群主可以@所有人吗(微信不是群主可以发起接龙吗)

  • r5 3600x配什么主板(r5 3600x搭配什么主板比较好)

  • 声卡内放和外放的区别(声卡内放和外放有什么区别呢)

  • 双卡手机怎么设置用哪个卡打电话(双卡手机怎么设置)

  • sim卡联系人没了怎么恢复(sim卡联系人没了怎么补办)

  • 苹果11视频有回音什么原因呢(苹果11视频有回音什么原因)

  • 企业微信注册需要什么条件(企业微信注册需要什么资料)

  • 小米手环2恢复出厂失败(小米手环2恢复出厂设置在哪里)

  • 淘宝拦截成功什么意思(淘宝拦截成功什么时候退款)

  • testflight是干嘛用的(testflight 干嘛的)

  • 钉钉是马云旗下的吗(钉钉是马云开发的软件吗)

  • 小米账号可以同时登录几个设备(小米账号同步怎么关闭)

  • 前置摄像头坏了怎么人脸识别(前置摄像头坏了怎么切换后置)

  • 优化iphone储存空间什么意思(优化iPhone储存空间后 没有变)

  • 小米多亲是小米公司出的吗(小米多亲好用吗)

  • 怎么在文档的第一页加尾注(怎么在文档的第一页自动生成目录)

  • 视频vue如何修改@字幕(vue保存的视频怎么改封面)

  • airpods能打电话时说话吗(airpods能打电话不能听音乐)

  • usb-c是什么意思(usbc转usbc是什么意思)

  • iphonexsmax功能介绍(iphone xsmax功能)

  • js怎么实现倒计时效果(js怎么实现倒计时)

  • JavaWeb之Cookie详解(一)(java cookie)

  • 【HTML+CSS】实现网页的导航栏和下拉菜单(html cssjs)

  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设 电脑维修 湖南楚通运网络