Vue5个常见面试题~(初级-中级)

1.路由守卫有哪几种

  • 全局守卫:beforeEach(一般用来做权限判断跳转的时候用到,可写在router.js文件下面
  • 后置守卫:afterEach(一般是在跳转到页面的时候执行
  • 全局解析守卫:beforeResolve(他的执行顺序是在beforeEach之后,afterEach之前
  • 路由独享守卫:beforeEnter(在路由配置页面单独给路由配置的一个守卫
  • 组内路由守卫:beforeRouteEnter,beforeRouteUpdate,beforeRouteLeave(进入beforeRouteEnter与离开beforeRouteLeave更新beforeRouteUpdate
  • 参数说明:

  • to:要进入的目标 路由对象
  • from:当前导航正要离开的路由
  • next:写每一步都要执行next,否则页面会空白,也可以给next写值,例如(next(),next(false),next('error'));

2.第一次页面加载会触发哪几个钩子? 

  • 第一次页面加载时会触发 beforeCreate, created, beforeMount, mounted 这几个钩子 

3.什么是$nextTick?

  •  场景:vue是异步渲染的框架,react也是,data改变之后,dom不会立刻渲染,$nextTick会在dom渲染之后被触发,以获取最新dom节点

4.vue组件中data为什么函数返回一个对象

  •  组件中的data写成一个函数,数据以函数返回值形式定义,这样每复用一次组件,就会返回一份新的data。如果单纯的写成对象形式,就使得所有组件实例共用了一份data,造成了数据污染。

5.双向数据绑定的理解?

  • vue采用数据劫持结合发布者-订阅者模式的方式,通过 Object.defineProperty劫持data属性的setter,getter,在数据变动时发布消息给订阅者,触发相应的监听回调。 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值