2023年最新前端面试题(vue相关1)

一、vue的优点及缺点

  1. 优点

  • 轻量级

Vue作为一款轻量级前端框架,大小只有18–21KB,工程搭建简单,只需要几行命令符

  • 虚拟DOM

虚拟DOM和响应式避免了不必要的全局重新渲染,提升了用户体验,使用户操作更加流畅

  • 响应式

Vue的组件化使前端开发更加容易理解,同时MVVM可以更便捷地实现交互,对新手十分友好

  • 插件化

有许多基于Vue的npm扩展包和开发工具(如Vuex)。Vue可以在一个文件下统一管理所有外部插件的全局使用

  • 组件化

组件化利于开发者对于单一组件进行测试,很少发生在整个页面下找不到是哪个地方报错的情况,便于测试

  • 视图,数据结构分离

使数据的更改更为简单,不需要进行逻辑代码的修改,只需要操作数据就能完成相关操作

  1. 缺点

  • 单页面不利于seo

  • 不支持IE8以下的浏览器

  • 首页加载时间长

二、vuex

  1. state:存储变量

  1. mutations:修改state方法,同步

  1. actions:触发mutations方法,异步

  1. getters:state的计算属性

  1. modues:模块化vuex

三、封装组件的好处

  1. 可以隐藏内部细节,对外提供公共访问方式

  1. 提高安全性,提高代码的复用性

四、子组件是否可以直接更改父组件数据

不可以,Vue是单向数据流,即父级 props 的更新会流向子组件,但是反过来则不行

只能通过 $emit 派发一个自定义事件,父组件接收到后,由父组件修改

五、scoped

  • 作用:Vue组件内的样式,只针对当前组件内样式生效

  • 原理:自动给标签添加data-v-hash值属性

  • 例子:代码: .box 渲染结构:.box[data-v-hash]

六、谈谈MVVM设计模式

  • M:数据层,组件data配置项内的变量

  • V:视图层,组件