vue面试知识点总结

指令、插值

  • 插值、表达式
  • 指令、动态属性
  • v-html:会有xss风险、会覆盖子组件

computed和watch

  • computed有缓存,data不变则不会重新计算
  • watch如何深度监听
  • watch监听引用类型,拿不到oldval

v-if和v-show

v-if如果没有达到条件则不会有这个元素而v-show只会用display:none隐藏

循环(列表)渲染

  • 如何遍历对象?—也可以用v-for
  • key的重要性。key不能乱写(如random或者index)
  • v-for和v-if不能一起使用

事件

  • event参数,自定义参数
  • 事件修饰符,按键修饰符
  • [观察]事件被绑定到哪里
    在这里插入图片描述
    如果没有传参数就可以直接获取event如果传的话就需要在参数中写出$event在这里插入图片描述

1.event是原生的
2.事件是被挂载到当前元素

事件修饰符

在这里插入图片描述

按键修饰符

在这里插入图片描述

表单

  • v-model
  • 常见表单项tetxarea checkbox raido select
  • 修饰符lazy(输入之后变化) number(转数字) trim(去空格)

Vue组件使用

  • props和$emit
  • 组件间通讯-自定义事件
  • 组件生命周期

在这里插入图片描述

兄弟组件通讯

创建Vue实例
在这里插入图片描述
绑定自定义事件
在这里插入图片描述
调用自定义事件
在这里插入图片描述
及时解绑自定义事件,否则可能造成内存泄漏
在这里插入图片描述

生命周期(单个组件)

参考Vue官网

  • 挂载阶段
  • 更新阶段
  • 销毁阶段
    在这里插入图片描述
    在这里插入图片描述

总结

  • props和$emit
  • 组件间通讯-自定义事件
  • 组件生命周期

Vue高级特性

  • 自定义V-model
  • $nextTick
  • slot
  • 动态、异步组件
  • keep_alive
  • mixin

自定义V-model

组件
在这里插入图片描述
在这里插入图片描述
1.上面的input使用了 :value 而不是v-model
2.上面的chage和 model.event要对应起来
3.text属性对应起来

$nextTick

  • Vue是异步渲染
  • data改变之后,DOM不会立刻渲染
  • $nextTick会在DOM渲染之后触发,以获取最新的DOM节点