Vue2与小程序面试指南:核心技术深度解析

需积分: 10 1 下载量 123 浏览量 更新于2024-08-05 收藏 403KB PDF 举报
"该文档是一份关于Vue2和小程序面试的综合题目集合,旨在帮助面试者迅速掌握Vue2框架及小程序的关键概念和技术。" 本文档包含的Vue2和小程序的面试知识点涵盖了多个方面: 1. **Vue2生命周期**:Vue实例从创建到销毁的过程称为生命周期。包括beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy、destroyed等钩子函数。在项目中,这些钩子常用于初始化数据、监听、DOM操作等。 2. **Vuex理解**:Vuex是Vue的状态管理库,用于解决组件之间状态共享的问题。它的五大核心是state(状态)、getter(计算属性)、mutation(状态变更函数)、action(异步操作)和module(模块化)。调用它们需通过this.$store对象,Vuex执行机制遵循单一状态树和不可变数据原则。 3. **Vue路由模式**:Vue Router有hash模式和history模式。hash模式基于URL的哈希值改变,history模式则利用HTML5 History API,两者在浏览器地址栏显示和刷新方式上有区别。原理涉及路由器的导航守卫和路由配置。 4. **Vue路由守卫**:用于页面权限控制,如beforeEnter、afterEach等,可以在路由切换前/后执行逻辑,比如验证用户登录状态。 5. **v-if与v-show**:两者都能实现条件渲染,但v-if有更高的编译开销,适合条件复杂或不频繁切换的情况;v-show只是简单地切换元素的display样式属性,适合频繁切换。 6. **v-for与v-if优先级**:v-for的优先级高于v-if,若同时使用,建议将v-if放在v-for内部,避免不必要的渲染。 7. **methods、computed和watch**:methods存储普通函数;computed是计算属性,只有依赖改变时才会重新计算;watch用于监听数据变化,可以执行复杂逻辑。 8. **vue组件通信**:通过props、事件(eventBus)和Vuex等方式实现父子组件或跨级组件通信。 9. **$nextTick**:在下次DOM更新循环结束之后执行回调,确保数据变化已完成后再进行DOM操作。 10. **MVVM模式**:Model-View-ViewModel模式,Vue实现了数据绑定,让视图与模型自动同步。 11. **Vue双向数据绑定原理**:基于数据劫持(Object.defineProperty)和订阅-发布模式,实现视图与数据的实时更新。 12. **Vue常用指令**:如v-bind、v-model、v-if/v-show、v-for、v-on等,用于简化DOM操作。 13. **Vue常用修饰符**:例如.sync、.once、.key、.enter等,扩展了指令的功能。 14. **Vue组件封装**:通过定义组件结构、属性和方法,创建可重用的代码块,提高代码复用率。 15. **key的作用**:用于Vue识别和追踪每个节点的身份,优化DOM更新。 16. **keep-alive**:用于缓存组件,保持组件状态,避免重复渲染。 17. **Vue过滤器**:自定义数据转换,如日期格式化,有管道操作符|进行调用。 18. **slot插槽**:用于组件内容分发,允许子组件插入定制内容。 19. **本地/线上跨域**:本地通常通过代理服务器解决,线上则需服务器配置CORS策略。 20. **axios封装**:二次封装可统一请求处理,如设置默认配置、错误处理等。 21. **axios拦截器**:用于在请求发送前或响应返回后添加全局处理逻辑,如添加Token、重试机制等。 22. **Vue与jQuery的区别**:Vue是MVVM框架,强调数据驱动和组件化,而jQuery是DOM操作库,注重DOM操作和事件处理。 23. **data必须是函数**:保证每个组件实例拥有独立的数据空间,避免数据污染。 24. **MVVM模式优点与MVC区别**:MVVM简化了数据绑定,使得视图与模型更松耦合,而MVC中视图、模型、控制器职责分明,适用于大型项目。 以上知识点是Vue2面试中的重点,掌握这些将有助于理解和解答关于Vue2框架和小程序的面试问题。对于小程序部分,虽然未提供具体题目,但通常会涵盖小程序的API使用、生命周期、页面结构、网络请求、数据管理等方面。