郑州福千欣隆网站建设有限公司,加强网络暴力治理,网站空间维护,打造一个app需要多少钱生命周期 图#xff1a; 可以理解vue生命周期就是指vue实例从创建到销毁的过程#xff0c;在vue中分为8个阶段#xff1a;创建前/后#xff0c;载入前/后#xff0c;更新前/后#xff0c;销毁前/后。
一、创建#xff08;实例#xff09;
1、beforeCreate#xff1a…生命周期 图 可以理解vue生命周期就是指vue实例从创建到销毁的过程在vue中分为8个阶段创建前/后载入前/后更新前/后销毁前/后。
一、创建实例
1、beforeCreate这个阶段实例已经初始化只是数据观察与事件机制尚未形成不能获取DOM节点没有data没有el 使用场景因为此时data和methods都拿不到所以通常在实例以外使用 2、created实例已经创建仍然不能获取DOM节点有data没有el 使用场景模板渲染成html前调用此时可以获取data和methodsso 可以初始化某些属性值然后再渲染成视图异步操作可以放在这里
二、载入数据
1、beforeMount是个过渡阶段此时依然获取不到具体的DOM节点但是vue挂载的根节点已经创建有data有el 2、mounted数据和DOM都已经被渲染出来了 使用场景模板渲染成html后调用通常是初始化页面完成后再对数据和DOM做一些操作需要操作DOM的方法可以放在这里
三、更新
1、beforeUpdate检测到数据更新时但在DOM更新前执行 2、updated更新结束后执行 使用场景需要对数据更新做统一处理的如果需要区分不同的数据更新操作可以使用$nextTick
四、销毁
1、beforeDestroy当要销毁vue实例时在销毁前执行 2、destroyed销毁vue实例时执行 面试题
1、什么是 vue 生命周期有什么作用
答每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如需要设置数据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。同时在这个过程中也会运行一些叫做 生命周期钩子 的函数这给了用户在不同阶段添加自己的代码的机会。ps生命周期钩子就是生命周期函数例如如果要通过某些插件操作DOM节点如想在页面渲染完后弹出广告窗 那我们最早可在mounted 中进行。
2、created和mounted的区别
created一般是在html渲染前的操作此时el还是undefineddata已经存在。这里不能对dom进行操作。mounted一般是在html渲染完成后的操作此时eldata都已经加载完成一般对dom的操作都写在mounted中例如获取innerHTML初始化echarts的时候。
3、第一次页面加载会触发哪几个钩子
答beforeCreate created beforeMount mounted
4、简述每个周期具体适合哪些场景
答
beforeCreate在new一个vue实例后只有一些默认的生命周期钩子和默认事件其他的东西都还没创建。在beforeCreate生命周期执行的时候data和methods中的数据都还没有初始化。不能在这个阶段使用data中的数据和methods中的方法createdata 和 methods都已经被初始化好了如果要调用 methods 中的方法或者操作 data 中的数据最早可以在这个阶段中操作beforeMount执行到这个钩子的时候在内存中已经编译好了模板了但是还没有挂载到页面中此时页面还是旧的mounted执行到这个钩子的时候就表示Vue实例已经初始化完成了。此时组件脱离了创建阶段进入到了运行阶段。 如果我们想要通过插件操作页面上的DOM节点最早可以在和这个阶段中进行beforeUpdate 当执行这个钩子时页面中的显示的数据还是旧的data中的数据是更新后的 页面还没有和最新的数据保持同步updated页面显示的数据和data中的数据已经保持同步了都是最新的beforeDestoryVue实例从运行阶段进入到了销毁阶段这个时候上所有的 data 和 methods 指令 过滤器 ……都是处于可用状态。还没有真正被销毁destroyed 这个时候上所有的 data 和 methods 指令 过滤器 ……都是处于不可用状态。组件已经被销毁了。
5、vue获取数据在哪个周期函数
答一般 created/beforeMount/mounted 皆可。 比如如果你要操作 DOM , 那肯定 mounted 时候才能操作。