MVC 启示录 – 模块的职责,作用域和通信
在上一篇中,我提出了一个应用中常见的问题:如何在多个视图中共享同一份数据,并且保证它的改动能够同步到不同的视图中去?
针对这个问题我给出了两类解决方案:一类是用户行为驱动的意识流编码,比如当我选择将素材回滚到某个历史版本时,我想当然的手动去更新每一个视图
Webpack 插件开发如此简单
本文使用的 Webpack-Quickly-Starter 快速搭建 Webpack4 本地学习环境。
建议多阅读 Webpack 文档《Writing a Plugin》章节,学习开发简单插件。
React Fiber 调度机制和事件系统
经典的事件系统分成两大块,绑定事件与分派事件,在浏览器中,分派事件很少人会直接 dispatchEvent。因为创建一个 DOM 事件是非常复杂的事情,不同的事件对象对应不同的事件构造器,传参也五花八门。因为分派事件基本上用户行为触发,比如我们点击了某个元素,恰逢在这上方绑定了点击事件,于是触发了。
JavaScript 内存泄漏防范之道
一般情况下,忽视内存管理不会对传统的网页产生显著的后果。这是因为,用户刷新页面后,内存数据都被清理了。
但是随着 SPA(单页应用)的普及,我们不得不更加关注页面的内存管理。用户在 SPA 上往往很少刷新页面,随着页面停留时间的增长,内存可能越占越多,轻则影响页面性能,严重的可能导致标签页崩溃。
在这篇文章中,我们将探讨导致 JavaScript 中内存泄露的常见原因,以及如何改善内存管理。
一次性讲明白 vue 插槽 slot
我们在构建页面过程中一般会把用的比较多的公共的部分抽取出来作为一个单独的组件,但是在实际使用这个组件的时候却又不能完全的满足需求,我希望在这个组件中添加一点东西,这时候我们就需要用到插槽来分发内容。