这个项目的名字我命名为 tiny-wheels,算是我这个前端菜鸡第一个正式的开源项目吧,顾名思义,就是一些比较简单、轻量的轮子,都是我平时工作中遇到的一些组件和效果,而这个开源项目的目的就是尝试用原生的方式把一些常见组件实现一下,这个项目虽然不大,但是我会非常用心的维护,欢迎大家给我提建议~
配套的教程文章我会同步在我的个人网站、掘金、segmentfault 等平台更新
1
zhw2590582 2020-04-09 15:35:10 +08:00
建议加入 destroy 方法,也有利于解耦。
|
2
csdoker OP @zhw2590582 请问你是指的组件本身还是组件中事件的销毁呢
|
3
zhw2590582 2020-04-09 17:03:47 +08:00
@csdoker 都要销毁
|
4
u6pM63mMZ34z32cE 2020-04-09 17:32:28 +08:00
一共 4 个组件, 我没看错?
|
5
hewelzei 2020-04-09 17:57:07 +08:00
学习一下,已 star 。
|
8
csdoker OP @zhw2590582 没懂你的意思呢,能说具体点吗,事件销毁是指 remove 事件监听吧,组件需要销毁吗?还是说你是指的组件的实例,这些内存浏览器不是会自动回收处理吗?请指教~
|
9
zhw2590582 2020-04-09 18:38:05 +08:00 via iPhone
@csdoker 销毁当然指事件和 dom 一起销毁
|
10
csdoker OP @zhw2590582 嗯嗯,懂了
|
11
csdoker OP @zhw2590582 你应该是指的 Pager 那个组件吧,每次 removeChild 后要把对应的 child 赋值为 null,这样应该就可以达到销毁的目的了
|
12
NCry 2020-04-09 23:15:37 +08:00
分页控件想用用看,奈何需要考虑 IE 浏览器#24
|
14
csdoker OP @zhw2590582 我查了下相关的资料,现在大部分浏览器应该都会自动对移除掉的 dom 进行垃圾回收,所以没有额外引用的 dom 应该是可以不用手动清除的
|
15
zhw2590582 2020-04-10 08:50:42 +08:00
@csdoker dom 移除还不容易,直接 $el.innerHTML = ”“ 不就完了,问题是事件的移除,每个 addEventListener 都要有对应的 removeEventListener,事件绑定在 dom 上面,当 dom 移除了,事件其实还在的,只是 dom 移除而事件不移除就是所谓的内存泄漏。少年,你基本功不够啊。
|
16
loveToMy1 2020-04-10 09:05:56 +08:00
期待更多的组件
|
17
duan602728596 2020-04-10 09:23:34 +08:00
@babel/polyfill 已经不推荐用了,建议 core-js 升级到 3,压缩插件用 terser
|
18
basstk 2020-04-10 10:44:47 +08:00
支持一下,不错
|
19
csdoker OP @zhw2590582 innerHTML 移除 dom,事件确实还在,用 removeChild 应该是没有这个问题的,浏览器会自动回收内存
|
20
csdoker OP @duan602728596 暂时还没有引入 polyfill 因为没用太新的特性
|
21
csdoker OP |
22
wuweijia 2020-04-10 17:52:44 +08:00
兄弟你这个翻页 体验是不是有点问题
|
24
alading11 2020-04-20 14:08:30 +08:00
老哥搜索考公相关的话题搜到了你的帖子,想请教下。老哥当初考了吗,情况如何
|