玩的就是基础
来源:互联网 发布:网络不稳定怎么办 编辑:程序博客网 时间:2024/04/29 03:44
今天遇到了一个bug。
在vue2中初始化一个hightcharts实例。为了懒一点,少些重复代码,减少冗余。考虑到有多个hightcharts实例,所以对其进行封装。刚开始封装有两种方案,对不同的“图”分类,并创建组件。另一种就是一个基本的初始化函数,通过配置文件来确定使用哪一种”图“。采用后者,这一次。
继续详细封装设计,配置文件是可以有固定属性+数据构成,因此,只配置固定属性【说一句,hightcharts的配置很长,能简化就简化】,数据就在页面加载完成后融合。
重点来了,js的对象是传递引用的。但是配置文件中的对象不能变,想用的话需要复制一份出来。“对象的深拷贝”,
有点懒、也菜就百度了一个。TMD,这个没不全,然后我从五点搞到2:33分。中间吃了个饭、从公司回家、休息了会。从hightecharts==》vue2==》utils.deepcopy【我自己写的函数】,最后一步步找问题找到了。
最后贴上完整版的代码
function deepCopy(source) { var sourceCopy = source instanceof Array ? [] : {}; for (var item in source) { sourceCopy[item] = typeof source[item] === 'object' ? deepCopy(source[item]) : source[item]; } return sourceCopy;}这个是人家写的,写的比我的简练。其实我写这个的时候遇到了问题,怎么看数组的类型,typeof都是"object",懵逼的看prototype去了,写的又臭又长。。。。(嫌弃我自己)其实这个东西很容易,就是基础代码的拼装,要是基础不好就跟我一样,搞好久。所以啊,一些简单的没用知识其实很有用,只有打好基础才能走得更高。【基础不好,走到高处,代码bug了,你首先会想到框架、插件的使用姿势不对。然而没发现问题,console.log或者打断点调试,找到最后是基础部分没写周全,又恨又喜】
对了,vue2的代码调试该研究下了,没代码调试,我TM一行一行给自己讲代码,【跟个傻子一样】。
整整前端基础、然后吧偷偷搞java。这项目封装的思想挺像java的.proxxx文件配置的,尽量不要动代码。
阅读全文
0 0
- 玩的就是基础
- 玩的就是心跳
- 欧洲杯,玩的就是心跳
- 玩的就是ROM,解锁BootLoader大势所趋!
- 山地速降,玩的就是心跳
- 新功能 | Crash日报,玩的就是酷炫风!
- 玩的就是你,轻量级自定义View
- 开发就是个玩代码的过程
- 其实就是为了玩
- Direct9到Direct10 --- 玩的就是3D图形
- 《项目百态》读感系列”玩的就是心跳“
- 玩转德州,你就是人生中最大的赢家
- 《算法的乐趣》作者王晓华:“玩”过就是收获
- 软件项目管理面面观之“玩的就是心跳”
- 拒绝广告套路,音频营销这三招“玩的就是个性”
- 拒绝广告套路,音频营销这三招“玩的就是个性”
- JAVA基础:玩转Java的CLASSPATH
- C++玩的就是指针!!!深刻体会到了指针的强大!
- 防止UIButton重复点击
- MySQL主从复制部署(windows)
- redis 秒杀抢购demo
- 学以致用——Excel连接Oracle生成iKB报告——Part2(Excel日报自动化的数据转换及用户界面)
- [js项目]JavaScript库
- 玩的就是基础
- LibreOJ 515 贪心只能过样例(dp[bitset优化])
- 谷歌电子市场开发流程(3)-关于加载界面的处理
- ANSI C和C99
- 从零开始Windows环境下安装python+tensorflow
- [js项目]封装库-连缀
- 【快速排序】★★★★★
- [js项目]封装库-CSS[上]
- Codeforces #423-Div. 2—A. Restaurant Tables