Bug
描述: 使用 echarts
来绘制图表, 但是 echarts
的 label , formatter
这些字段, 只能使用模版字符串无法使用函数, 使用函数传入时不生效
先去官网看了下, 官网的 playground
是支持模版字符串和函数的
那为什么我封装的 echarts 就不行呢?
简单猜一下, 是版本的问题?应该不是, 这个我记得 n 年前学习使用 echarts 的时候就同时支持这两个设置方式了
新版本不太可能废除这种功能, 所以先去搜下问题看看
果然搜到了, 简单看了下, 说是浅拷贝的问题, JSON.stringfy把函数弄丢了
果然丢掉了
去我的代码里看一下
果然就是因为代码里使用了JSON.stringfy
来对默认配置浅拷贝了, JSON.stringfy
拷贝使用了函数的对象, 然后拷贝的结果直接丢掉了函数,然后echarts 没有收到, 走了默认值,造成了使用函数来作为label/formatter
的值不起作用
总结:
- 之前使用
JSON.stringfy
来进行拷贝的原因是当时的需求不需要定制, 用不到函数, 所以使用了这个API
, 但是后期新的需求做特殊配置, 光填配置了, 没再看之前的逻辑 - 对
JSON.stringfy
浅拷贝还是不够了解, 如果足够了解, 可能定位问题就能一针见血, 而不是往版本, 库的bug
上靠 - 搜索的时候注意描述准确, 描述准确了我感觉省好多事