每天10道题,100天后,搞定所有前端面试的高频知识点,加油!!!在看文章的同时,希望不要直接看答案,先思考一下自己会不会,如果会,自己的答案是什么?想过之后再与答案比对,是不是会更好一点,当然如果你有比我更好的答案,欢迎评论区留言,一起探讨技术之美。

目录

面试官:请你简述一下Proxy 与 Object.defineProperty优劣对比?

面试官:请问Vue如何快速定位哪个组件出现性能问题?

面试官:请说明scoped是如何实现样式传统的?

面试官:请问Vue中的数据为什么频繁变化但只会更新一次?

面试官:请说明给vue中的元素设置key值时可以使用math中的random方法吗?

面试官:请简述Vue中相同逻辑如何进行抽离?

面试官:请说明一下vue中watch是怎么深度监听对象变化的?

面试官:请你简述一下vue中子组件为什么不可以修改父组件传递的props?

面试官:请你简述一下为什么vue采用异步渲染?

面试官:请问说明是SSR,它主要解决什么问题?


面试官:请你简述一下Proxy 与 Object.defineProperty优劣对比?

目前开发者已经普遍使用Proxy,因其提供了更多的功能和更好的性能,它已经成为许多开发人员更常用的工具之一,需要注意就是确保目标环境支持这一特性。

面试官:请问Vue如何快速定位哪个组件出现性能问题?

面试官:请说明scoped是如何实现样式传统的?

举个例子,假设我们有以下 Vue 单文件组件:

<template>  
  <div class="example">Hello World</div>  
</template>  
  
<style scoped>  
.example {  
  color: red;  
}  
</style>

// 在编译后,Vue 会将样式转换为类似下面的代码:
.example[data-v-f3f3eg9] {  
  color: red;  
}

// 同时,模板中的根元素会被添加一个对应的属性,以便匹配上面的选择器:
<div class="example" data-v-f3f3eg9>Hello World</div>

通过这种方式,.example 样式就只会应用到当前组件的 <div> 元素上,而不会影响到其他组件或页面上的 .example 样式,但是scoped 样式并不是完全隔离的。由于 CSS 的特性,有些情况下样式可能会“泄漏”到其他组件。例如,如果一个子组件的深度超过了 scoped 样式的作用范围,或者使用了像 ::v-deep(在 Vue 3 中是 ::deep 或 >>>)这样的深度选择器,那么样式就可能会影响到其他组件。因此,在使用 scoped 样式时,仍然需要注意样式的隔离性和可维护性。

面试官:请问Vue中的数据为什么频繁变化但只会更新一次?

面试官:请说明给vue中的元素设置key值时可以使用math中的random方法吗?

建议使用列表项中某个唯一的、稳定的属性来作为 key,例如,如果你正在渲染一个用户列表,并且每个用户都有一个唯一的 id,那么你应该使用 id 作为 key。

面试官:请简述Vue中相同逻辑如何进行抽离?

面试官:请说明一下vue中watch是怎么深度监听对象变化的?

面试官:请你简述一下vue中子组件为什么不可以修改父组件传递的props?

面试官:请你简述一下为什么vue采用异步渲染?

面试官:请问说明是SSR,它主要解决什么问题?

06-11 02:40