你是否阅读过《你可能不需要 Vuex》或是《你可能不需要 Pinia》?使用 reactive
创建一个全局变量代替 Vuex 或 Pinia,作为全局状态。个人非常喜欢这么做,但没有与之配套的持久化数据方案,于是就产生了 Prorage。
你是否阅读过《你可能不需要 Vuex》或是《你可能不需要 Pinia》?使用 reactive
创建一个全局变量代替 Vuex 或 Pinia,作为全局状态。个人非常喜欢这么做,但没有与之配套的持久化数据方案,于是就产生了 Prorage。
Proxy
是 ECMAScript 6 中新增的一个 API,正式发布距今已经八年了,但你有直接使用过它吗?Proxy
有着很大潜力,但开发时却鲜有应用场景。本文将聊聊 Proxy
能怎么用,有哪些地方能用,希望能对你有所帮助。
本文是修复第三方依赖 BUG 的记录,包含定位 BUG 的一种思路、第三方依赖的 BUG 临时解决方法、 miniprogram-computed
实现原理与源码解析。
本文基于早先写的 《Vue3 组件二次封装 Element Plus El-Table》。再用 Vue 2
+ Element UI
重新实现一遍。实现思路不变,主要针对 Vue 2
缺少的特性和坑进行处理。存在较多的奇技淫巧,实践需谨慎。
公司里后台系统用的 Element UI
,有百来个表格(el-table),历史遗留原因都是直接使用 el-table 的。突然有一天,产品说表格要可以自定义列,让用户控制列的显隐、固定和排序,最好还能持久储存。使得我不得不进行二次封装来解决,那就顺便再轻微增强一下。
JSON.stringify
用来将 JS 变量序列化成 JSON
字符串。一般情况下普通使用是没什么问题了,但需求一旦超过了 JSON
的标准就会存在问题了。比如上篇文章中涉及到的,需要序列化任意 JS 变量用于展示。
下面将会解决 undefined
, Function
, NaN
, Infinity
, Symbol
, BigInt
的序列化,以及对于循环引用的对象的处理。一步一步将 JSON.stringify
改造成 JS.stringify
。推荐直接拉到底部看完整代码,看不懂再回头看思路、说明。
抽象相等比较(Abstract Equality Comparison
)即 ==
操作符,又被称作宽松相等、非严格相等。
而在抽象相等比较的过程中,为了使 ==
两侧的数据可以进行比较,会尽可能将它们转换成相同类型,这就是的隐式类型转换。