eightFlying

持续更新中...

记录一下面试被问到的问题,顺便回顾一下知识点。

02.05 17:00

this.$nextTick

  • 参考
  • 将回调延迟到下次 DOM 更新循环之后执行。状态改变后页面不会立即改变,而是等到下一次更新才会改变。
  • 在Vue生命周期的created()钩子函数进行的DOM操作一定要放在Vue.nextTick()的回调函数中
  • 在数据变化后要执行的某个操作,而这个操作需要使用随数据改变而改变的DOM结构的时候,这个操作都应该放进Vue.nextTick()的回调函数中。
  • 内部实现,先判断是否原生支持promise,如果支持,则利用promise来触发执行回调函数;否则,如果支持MutationObserver,则实例化一个观察者对象,观察文本节点发生变化时,触发执行所有回调函数;如果都不支持,则利用setTimeout设置延时为0。

<keep-alive>

  • 参考
  • 当组件在 内被切换,它的 activated 和 deactivated 这两个生命周期钩子函数将会被对应执行
  • 是一个抽象组件:它自身不会渲染一个 DOM 元素,也不会出现在组件的父组件链中
  • include - 字符串或正则表达式。只有名称匹配的组件会被缓存
  • exclude - 字符串或正则表达式。任何名称匹配的组件都不会被缓存

Promise.all()

  • 只有p1、p2、p3的状态都变成fulfilled,p的状态才会变成fulfilled,此时p1、p2、p3的返回值组成一个数组,传递给p的回调函数
  • 只要p1、p2、p3之中有一个被rejected,p的状态就变成rejected,此时第一个被reject的实例的返回值,会传递给p的回调函数。
  • 如果作为参数的 Promise 实例,自己定义了catch方法,那么它一旦被rejected,并不会触发Promise.all()的catch方法。

Vue 生命周期

  • beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy、destroyed
  • ajax 请求一般在created中

sass Mixin 混合指令

  • 定义可重复使用的样式,避免了使用无语意的 class
  • @mixin 定义混合;@include 引用混合

原型链和闭包

let、const、var 区别

  • 参考
  • let、const不存在变量提升、不允许重复声明、块级作用域

02.06 14:00

分类:

技术点:

相关文章:

  • 2021-10-02
  • 2021-10-04
  • 2021-10-06
  • 2021-10-15
  • 2021-10-26
  • 2021-12-13
猜你喜欢
  • 2021-12-25
  • 2021-12-25
  • 2021-09-19
  • 2021-11-03
  • 2021-12-16
  • 2021-08-03
  • 2021-11-27
相关资源
相似解决方案