-
Vue.js中监听Vuexstate需通过computed创建响应式连接再用watch监听,或使用store.subscribe/subscribeAction全局订阅,Pinia则支持直接watchstore属性,更简洁高效。
-
iOSWebView中无法直接触发HTML5下拉刷新,需通过touchstart/touchmove拦截并e.preventDefault()阻止原生橡皮筋效果,配合overscroll-behavior-y:contain及正确滚动容器配置,同时用Math.abs(window.scrollY)<1替代scrollY===0避免iOS浮点误差。
-
多组animation值会拆分为独立动画轨道并行播放,但操作同一CSS属性(如transform)时后声明的会覆盖前声明的,无法叠加;需合并至同一@keyframes中实现真正叠加。
-
根本原因是@forward默认不暴露本文件定义的变量或混合宏,必须用as或asprefix-显式导出;若只转发部分成员需with声明;工具包入口应组合@use与@forward以兼容多种导入方式。
-
transition对margin有效,但图标随文字滑动应使用inline-flex容器+transform:translateX()实现,避免margin引发重排、换行或对齐问题,确保动画顺滑且兼容。
-
srcset和sizes让浏览器按设备像素比和布局宽度自主选图:srcset提供带w/x的候选图,sizes定义图片显示宽度,二者配合避免模糊;需避免混用单位、缺失sizes、仅用x描述,且WebP/AVIF必须用picture回退,同时保留width/height防布局偏移。
-
Tooltip箭头颜色无法继承父元素color或fill,须单独设置background-color(实心)或border-color(三角),且border需重写完整声明并匹配方向、样式与宽度。
-
直接修改style属性可动态调整内联样式,需用驼峰命名法;2.更换className或使用classList方法能切换预定义样式,利于样式与逻辑分离;3.通过document.styleSheets插入或修改CSS规则可全局控制样式;4.setAttribute重写style字符串适合一次性设置多个样式。根据场景选择操作class或style以灵活控制页面外观。
-
设置背景色、文字色、边框和内边距提升按钮可读性;2.用border-radius和box-shadow增强质感;3.通过:hover和:active配合transition实现交互反馈;4.统一按钮类并处理禁用状态,确保风格一致且可用性强。
-
最轻量可维护的跨项目调色板共享方式是CSS自定义属性,需分层定义基础色与主题色、避免全局污染、通过npm发布纯CSS包、构建期用PostCSS注入、JS仅读取不硬编码。
-
使用CSStransition与transform:translate可实现高效平滑的位移动画。transition控制动画时长与缓动,translate在不触发重排的情况下移动元素位置。通过:hover或JS改变translate值即可触发动画,如按钮悬停微移、侧边栏滑出、轮播图切换等场景。示例中元素悬停时0.3秒内平移20px右、10px下,因不涉及布局变化,性能更优,搭配will-change或translateZ(0)可进一步提升渲染效率。
-
FetchAPI默认不校验HTTP状态码,404/500等仍会resolve,需手动检查response.ok或status;无默认超时、不自动解析JSON、不带凭据,错误处理分网络失败、HTTP异常、解析失败三层。
-
Firefox68+支持无前缀line-clamp,IE完全不支持;需用JavaScript截断或flex/height+overflow模拟实现。
-
call和apply方法都用于改变函数的this指向,但在参数传递上不同:1.call方法接受一个this值和若干个参数;2.apply方法接受一个this值和一个参数数组。选择使用哪一个取决于具体需求和代码风格。
-
要原样显示HTML转义字符如 ,需对&符号再次转义为&nbsp;;JS中用textContent而非innerHTML;模板引擎需传入双转义字符串;document.createTextNode()可完全避免解析。