Vue Router 的全局前置守卫里做登录重定向时,为什么会出现无限循环跳转,如何避免?
Vue Router 的全局前置守卫里做登录重定向时,为什么会出现无限循环跳转,如何避免? 本文先给出可直接复述的结论,再用最小代码说明Vue Router 重定向 无限循环 beforeEach 登录的工作方式、判断依据、项目边界和常见误区。
性能优化专题面试题第 7 页,显示第 301–340 题,共找到 340 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
Vue Router 的全局前置守卫里做登录重定向时,为什么会出现无限循环跳转,如何避免? 本文先给出可直接复述的结论,再用最小代码说明Vue Router 重定向 无限循环 beforeEach 登录的工作方式、判断依据、项目边界和常见误区。
被 Vue KeepAlive 缓存的组件为什么 mounted 只执行一次,数据刷新应该放在哪个生命周期? 本文先给出可直接复述的结论,再用最小代码说明Vue KeepAlive activated deactivated 生命周期 数据刷新的工作方式、判断依据、项目边界和常见误区。
运行中动态增删需要缓存的 Vue 组件时,include 绑定响应式数组有什么注意事项? 本文先给出可直接复述的结论,再用最小代码说明Vue KeepAlive include 响应式 动态缓存 数组的工作方式、判断依据、项目边界和常见误区。
Vue KeepAlive 的 include/exclude 匹配依据是什么,为什么常出现配置后不生效的问题? 本文先给出可直接复述的结论,再用最小代码说明Vue KeepAlive include exclude 组件 name 匹配 不生效的工作方式、判断依据、项目边界和常见误区。
Vue KeepAlive 的 max 属性触发淘汰时按什么规则移除缓存实例,设置时要权衡什么? 本文先给出可直接复述的结论,再用最小代码说明Vue KeepAlive max LRU 淘汰 内存 权衡的工作方式、判断依据、项目边界和常见误区。
如何实现列表页进入详情后返回时保留滚动位置,而从其他页面进入列表时重新加载的 KeepAlive 缓存策略? 本文先给出可直接复述的结论,再用最小代码说明Vue KeepAlive 路由 meta 动态缓存 列表 滚动位置的工作方式、判断依据、项目边界和常见误区。
使用 Vue KeepAlive 后表单残留或数据过期,如何定位是缓存导致并选择刷新手段? 本文先给出可直接复述的结论,再用最小代码说明Vue KeepAlive 数据过期 表单残留 缓存 刷新 key的工作方式、判断依据、项目边界和常见误区。
Vue Router 的 router.push 返回的导航结果如何区分重复导航、被中止和被取消? 本文先给出可直接复述的结论,再用最小代码说明Vue Router 导航失败 isNavigationFailure NavigationFailureType的工作方式、判断依据、项目边界和常见误区。
Vue Router 在一次导航中,全局守卫、路由独享守卫和组件内守卫的完整执行顺序是什么? 本文先给出可直接复述的结论,再用最小代码说明Vue Router 导航守卫 执行顺序 beforeEach beforeEnter beforeRouteEnter的工作方式、判断依据、项目边界和常见误区。
Pinia 的 action 中处理异步请求与业务错误,推荐怎样的组织方式? 本文先给出可直接复述的结论,再用最小代码说明Pinia action 异步 错误处理 async await的工作方式、判断依据、项目边界和常见误区。
Pinia 的 getter 需要接收参数时为什么要返回一个函数,这样做会失去什么能力? 本文先给出可直接复述的结论,再用最小代码说明Pinia getter 传参 返回函数 缓存失效的工作方式、判断依据、项目边界和常见误区。
Pinia 如何配置才能让 store 在 Vite 热更新时保留状态? 本文先给出可直接复述的结论,再用最小代码说明Pinia HMR 热更新 import.meta.hot acceptHMRUpdate的工作方式、判断依据、项目边界和常见误区。
如何用 Pinia 插件机制给 store 增加本地持久化能力? 本文先给出可直接复述的结论,再用最小代码说明Pinia 插件 持久化 localStorage $subscribe的工作方式、判断依据、项目边界和常见误区。
Pinia 的 Setup Store 没有内置 $reset,应该如何实现状态重置? 本文先给出可直接复述的结论,再用最小代码说明Pinia setup store $reset 状态重置 实现的工作方式、判断依据、项目边界和常见误区。
Pinia 的 Setup Store 与 Options Store 两种写法分别在什么场景下更合适? 本文先给出可直接复述的结论,再用最小代码说明Pinia setup store options store 写法 选择的工作方式、判断依据、项目边界和常见误区。
解构 Pinia store 时为什么要用 storeToRefs,直接解构会丢失什么? 本文先给出可直接复述的结论,再用最小代码说明Pinia storeToRefs 解构 响应式丢失的工作方式、判断依据、项目边界和常见误区。
Pinia 相比 Vuex 在 API 设计上做了哪些取舍,为什么取消 mutation? 本文先给出可直接复述的结论,再用最小代码说明Pinia Vuex 区别 取消 mutation 设计动机的工作方式、判断依据、项目边界和常见误区。
Vue Router 的路由懒加载如何通过动态 import 实现,如何控制打包产物按路由分组? 本文先给出可直接复述的结论,再用最小代码说明Vue Router 路由懒加载 动态 import 代码分割 chunk的工作方式、判断依据、项目边界和常见误区。
如何用 Vue Router 的 meta 字段配合全局守卫实现基于角色的页面权限控制? 本文先给出可直接复述的结论,再用最小代码说明Vue Router meta 权限 角色 路由守卫 设计的工作方式、判断依据、项目边界和常见误区。
Vue SSR 应用里需要访问 window 或 localStorage 时,代码应该放在哪里才不会在服务端报错? 本文先给出可直接复述的结论,再用最小代码说明Vue SSR window localStorage onMounted 客户端判断的工作方式、判断依据、项目边界和常见误区。
Vue SSR 中为什么每个请求都要创建新的应用实例和 store,否则会出什么问题? 本文先给出可直接复述的结论,再用最小代码说明Vue SSR 跨请求状态污染 应用实例 工厂函数的工作方式、判断依据、项目边界和常见误区。
Vue SSR 的服务端预取数据如何传递到客户端并避免重复请求? 本文先给出可直接复述的结论,再用最小代码说明Vue SSR 数据预取 状态注水 serverPrefetch Pinia的工作方式、判断依据、项目边界和常见误区。
Vue SSR 中 hydration 不匹配报错的常见原因有哪些,如何定位? 本文先给出可直接复述的结论,再用最小代码说明Vue SSR hydration mismatch 不匹配 排查的工作方式、判断依据、项目边界和常见误区。
Vue 应用做 SSR 时哪些生命周期钩子会在服务端执行,这对代码编写有什么约束? 本文先给出可直接复述的结论,再用最小代码说明Vue SSR 生命周期 服务端执行 beforeCreate created setup的工作方式、判断依据、项目边界和常见误区。
面对一个内容型站点与一个强交互后台,分别该选 Vue 的 SSR、SSG 还是纯 CSR,判断依据是什么? 本文先给出可直接复述的结论,再用最小代码说明Vue SSR SSG CSR 渲染模式 选型 依据的工作方式、判断依据、项目边界和常见误区。
Vue 的 Suspense 如何协调多个异步组件和 setup 中的异步依赖,与 defineAsyncComponent 是什么关系? 本文先给出可直接复述的结论,再用最小代码说明Vue Suspense 异步依赖 async setup defineAsyncComponent 关系的工作方式、判断依据、项目边界和常见误区。
Vue watch 开启 deep 会发生什么,为什么可能增加性能成本? 本文先给出可直接复述的结论,再用最小代码说明Vue watch deep 深度监听性能的工作方式、判断依据、项目边界和常见误区。
把纯静态路由表、常量字典或巨型不可变 JSON 全量 reactive 化,在 Vue 中主要浪费什么,应该怎么降级? 本文先给出可直接复述的结论,再用最小代码说明Vue 静态配置过度响应式 性能浪费 降级的工作方式、判断依据、项目边界和常见误区。
什么时候应把第三方实例、DOM 节点或不可变配置放进 Vue 的 markRaw,而不是 reactive? 本文先给出可直接复述的结论,再用最小代码说明Vue markRaw 第三方实例 使用时机的工作方式、判断依据、项目边界和常见误区。
小程序逻辑层和渲染层之间通过什么机制通信,为什么说频繁跨线程通信是性能瓶颈? 本文先给出可直接复述的结论,再用最小代码说明小程序 逻辑层 渲染层 通信 Native JSBridge的工作方式、判断依据、项目边界和常见误区。
小程序页面滚动卡顿、长列表渲染慢时,从双线程与 setData 角度如何定位和优化? 本文先给出可直接复述的结论,再用最小代码说明小程序 滚动卡顿 长列表 setData 性能优化的工作方式、判断依据、项目边界和常见误区。
小程序 setData 触发视图更新的底层过程是怎样的,为什么只应传递变化的数据? 本文先给出可直接复述的结论,再用最小代码说明setData 数据 diff 视图更新 原理的工作方式、判断依据、项目边界和常见误区。
在小程序滚动或高频事件中频繁调用 setData 会出什么问题,应如何治理? 本文先给出可直接复述的结论,再用最小代码说明setData 频繁调用 性能 优化的工作方式、判断依据、项目边界和常见误区。
在前端做图片滤镜时,WebAssembly 相对 Canvas API 直接处理像素的角色怎么划分? 本文先给出可直接复述的结论,再用最小代码说明WebAssembly 前端 图像处理 性能的工作方式、判断依据、项目边界和常见误区。
JS 与 WebAssembly 之间的数据拷贝如何成为性能瓶颈,怎么减少? 本文先给出可直接复述的结论,再用最小代码说明WebAssembly 内存拷贝 零拷贝 性能的工作方式、判断依据、项目边界和常见误区。
WebAssembly SIMD 相对标量版本在什么条件下才有加速收益? 本文先给出可直接复述的结论,再用最小代码说明WebAssembly SIMD 性能 128位的工作方式、判断依据、项目边界和常见误区。
优化 WebAssembly 应用启动时间与峰值性能的目标会冲突吗? 本文先给出可直接复述的结论,再用最小代码说明WebAssembly 启动时间 优化取舍的工作方式、判断依据、项目边界和常见误区。
Webpack 官方建议的构建性能优化手段有哪些,应按什么顺序排查? 本文先给出可直接复述的结论,再用最小代码说明webpack 构建性能优化手段 排查顺序的工作方式、判断依据、项目边界和常见误区。
Webpack resolve.alias 能解决哪些实际问题,配置时有什么容易踩的坑? 本文先给出可直接复述的结论,再用最小代码说明webpack resolve alias 路径别名的工作方式、判断依据、项目边界和常见误区。
Webpack resolve 的 extensions、alias、modules 配置如何影响构建速度? 本文先给出可直接复述的结论,再用最小代码说明webpack resolve alias extensions 性能的工作方式、判断依据、项目边界和常见误区。