Vue面试题

2.0

1、生命周期

1.1、生命周期

// vue2.0
beforeCreate
created
beforeMount
mounted
beforeUpdate
updated
beforeDestroy
destroyed 

发送请求在created还是mounted?

这个问题具体要看项目和业务的情况了,因为组件的加载顺序是 ,但父组件引入子组件,那么先执行父组件的前三个生命周期,再去执行子组件的前四个生命周期,那么如何我们的业务是父组件引入子组件,并且优先加载子组件数据,那么父组件的加载请求需要放在mounted在,如果当前组件没有依赖关系,存放在哪个生命周期中请求都是可以的。

1.2、为什么发送请求不在beforeCreate里?beforeCreate和created的区别?

1、不在beforeCreate中发送请求
    因为如何我们的请求是在methods中封装好的,在beforeCreate中调用的时候,
beforeCreate阶段是拿不到methods中的方法的(会报错)。
2、beforeCreate和created区别?
    beforeCreate没有$data
    created中有$data

    beforeCreate拿不到methods的方法
    created可以拿到methods的方法

1.3、在created中如何获取dom?

1、只要写异步代码,获取dom是在异步代码中获取的,就可以了;
    因为进入组件时,会执行四个生命周期,beforeCreate、created、beforeMount、mounted,
 而mounted中就可以获取到dom,异步代码会进行任务队列,等待同步代码执行完毕后,再执行;
    例如:setTimeout、请求、Promise.xxx()等等。
2、使用vue系统内置的this.$nextTick()。

1.4、一旦进入组件时,会执行哪些生命周期?

beforeCreate
created
beforeMount
mounted 

1.5、第二次或第N次进入组件会执行哪些生命周期? 

1.6、父组件中引入子组件,生命周期的执行顺序?

父: beforeCreate
父: created
父: beforeMount
子: beforeCreate
子: created
子: beforeMount
子: mounted
。。。                     可能有多个子组件
父: mounted

先获取父组件的data,有可能需要传给子组件做操作,再执行子组件的data、DOM,
最后执行父组件的DOM;

1.7、加入keep-alive会执行哪些生命周期?

1.8、你在什么情况下用过哪些生命周期?说一说生命周期的使用场景?

2、关于组件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值