0%

vue高频考题


整理了一下常见的vue的问题

vue的问题整理的不太多,一些基础的并没有整理出来

什么是 MVVM?比之 MVC 有什么区别?什么又是 MVP ?

阮老师说的就很详细 戳我戳我

Vue 的各个生命阶段是什么?

戳我跳转搜索生命周期

Vue 组件间的参数传递方式

普通的组件传值可以去我其他的博客搜一下,这里重点说一下 多个子组件嵌套

使用 provider/inject,在父组件中通过 provider 提供变量,在子组件中通过inject 来将变量注入到组件中。不论子组件有多深,只要调用了 inject 那么就可以注入 provider 中的数据。

computed 和 watch 的差异

  1. computed 是计算一个新的属性,并将该属性挂载到 Vue 实例上,而 watch 是监听已经存在且已挂载到 Vue 实例上的数据,所以用 watch 同样可以监听 computed 计算属性的变化。

  2. computed 本质是一个惰性求值的观察者,具有缓存性,只有当依赖变化后,第一次访问computed 属性,才会计算新的值。而 watch 则是当数据发生变化便会调用执行函数。

  3. 从使用场景上说,computed 适用一个数据被多个数据影响,而 watch 适用一个数据影响多个数据。

v-model的实现原理以及如何自定义v-model

戳我跳转

vue响应式数据原理?

戳我跳转

什么是 Virtual DOM?如何比较两个 DOM 树的差异?

戳我跳转

vue 中 key 值的作用?

vue 中 key 值的作用可以分为两种情况来考虑。

第一种情况是 v-if 中使用 key。由于 Vue 会尽可能高效地渲染元素,通常会复用已有元素而
不是从头开始渲染。因此当我们使用 v-if 来实现元素切换的时候,如果切换前后含有相同类
型的元素,那么这个元素就会被复用。如果是相同的 input 元素,那么切换前后用户的输入不
会被清除掉,这样是不符合需求的。因此我们可以通过使用 key 来唯一的标识一个元素,这个
情况下,使用 key 的元素不会被复用。这个时候 key 的作用是用来标识一个独立的元素。

第二种情况是 v-for 中使用 key。用 v-for 更新已渲染过的元素列表时,它默认使用“就地
复用”的策略。如果数据项的顺序发生了改变,Vue 不会移动 DOM 元素来匹配数据项的顺序,
而是简单复用此处的每个元素。因此通过为每个列表项提供一个 key 值,来以便 Vue 跟踪元
素的身份,从而高效的实现复用。这个时候 key 的作用是为了高效的更新渲染虚拟 DOM。

没有整理的题目

  • Vue中如何检测数组变化
  • 为何Vue采用异步处理
  • nextTick的实现原理
  • Vue中v-html会导致哪些问题
  • 组件中的data为什么是一个函数
  • Vue中常见性能优化
  • keep-alive的了解
  • 如何实现hash路由和history路由

(未完待续…)

-------------本文结束感谢您的阅读-------------
没办法,总要恰饭的嘛~~