-
created阶段适合发起异步请求、初始化非DOM状态、订阅事件;mounted是DOM操作的正确时机,可安全访问this.$el和this.$refs,执行第三方库初始化、聚焦、尺寸获取等,SSR下需注意浏览器API兼容性。
-
defineAsyncComponent用于按需加载组件,减少首屏体积,支持加载中、失败状态控制;本质是包装异步工厂函数,基础用法为defineAsyncComponent(()=>import('./comp.vue')),可配置loading/error组件、delay、timeout等,并推荐与Suspense结合使用。
-
JavaScript滚动动画核心是“检测时机+触发样式变化”,推荐用IntersectionObserver监听元素可见性,CSS定义动画类,JS仅开关class,配合requestAnimationFrame实现数字滚动等特殊效果。
-
父容器未设display:grid导致grid-cols-3无效;响应式需配断点如md:grid-cols-2;grid-cols-[200px]非四列而是单列固定宽;gap受子项margin干扰,调试宜用outline查看真实网格区域。
-
最稳妥是绑定在轮播容器上并用event.target.closest('.carousel-item.active')查找目标元素,避免误触和重复绑定,同时确保active类在transitionend后更新。
-
频繁读写DOM几何属性会触发多余回流,应批量读写分离、用transform替代高代价CSS属性、合理使用contain隔离布局影响。
-
VC图片不居中需优先给列设text-align:center;若用SingleImage则加vc-align-center类;Flex布局下改用列的JustifyContent为center;响应式需单独设移动端对齐。
-
BroadcastChannelAPI是浏览器提供的同一源下跨标签页通信方案,通过创建同名频道实例实现消息收发,支持postMessage发送和onmessage监听,适用于状态同步与操作通知,需注意仅限同源、数据可序列化、不保证消息顺序,且应调用close()释放资源。
-
浮动在移动端“掉下来”是因为float设计初衷非响应式,其脱离文档流、依赖父容器清除且对宽度敏感,而移动端屏幕多变、字体与视口缩放频繁,易致换行、重叠或消失。
-
preload属性设成"auto"为什么还是不预加载?因为浏览器根本没买账——preload是提示,不是指令。尤其在移动Safari、Chrome(省电模式下)、Firefox(隐私模式)里,preload="auto"常被直接忽略,连网络请求都不会发。常见错误现象:network面板里看不到音频资源请求;audio.readyState长时间卡在0(HAVE_NOTHING);用户点播放时明显卡顿。preload只有三个合法值:"none"、"metadata"、"auto"
-
真正有效的方案是用UA检测+运行时加class,而非依赖CSS媒体查询;prefers-reduced-data和prefers-color-scheme仅反映系统偏好,与分享动作无直接关联,且在内嵌WebView中支持不一。
-
AJAX是一种利用现有技术实现异步通信的开发模式,核心是在不刷新页面前提下与服务器交换数据并局部更新DOM;主要通过XMLHttpRequest或fetchAPI实现,依赖JavaScript事件循环机制保障页面流畅性。
-
Angular中推荐用inject()+??设置依赖默认值,如privateconfig=inject(CONFIG_TOKEN,{optional:true})??{apiUrl:'https://api.example.com',timeout:5000};也可通过providers注册useValue兜底。
-
使用transform改变盒子形状不会影响布局,因为它不改变文档流。通过rotate、scale、skew、translate可实现视觉形变,原空间保留,周围元素不变。关键点包括:利用transform-origin控制变换中心,设置overflow:hidden防溢出,调整z-index避免遮挡。相比修改margin、position或宽高等触发回流的属性,transform在渲染层操作,性能更优,适合仅需视觉变化的场景,如按钮倾斜装饰,确保布局稳定。
-
索尼电脑播HTML5视频默认应启用GPU加速,否则易卡顿、发热、CPU占用飙升;需通过chrome://gpu或chrome://media-internals确认VideoDecode和Compositing是否显示Hardwareaccelerated,常见失效原因包括驱动过旧、BIOS核显被禁、后台软件冲突。