出发点:之前起点小程序尝试的一个重要原因就是支持状态管理,虽然现在也支持了,但是其性能不是非常理想,且看到里面还是提了很多的,所以还是想着用原生来撸一个简单够用的。
状态管理中非常重要的点就是发布/订阅模式,发布/订阅模式的原理非常简单,一边发布,一边订阅。订阅者在事件中心注册具名事件和回调函数,发布者通知事件中心执行所有同名的回调函数。
事件中心(.)
既然需要提供事件注册(订阅)的功能,那么必然需要一个地方来存放所有的事件,同一个事件名可以有多个回调,那么显然数据结构如下:
所以事件中心的雏型如下:
订阅功能:在具名事件的回调数组中推入了一个新的回调,接受一个事件名和回调函数。
发布功能:调用对应事件名的所有回调函数,参数为事件名和回调参数。
该对象主要用于存储共享数据,当数据被更新时触发 事件。
:调用 ,可以执行一些异步的操作,然后调用
:调用
需求说明:在首页将一本书加入书架,书架列表自动更新。
订阅(书架页)
发布(首页)
© 版权声明
本站文章均来自于网络,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,核实后本网站将在24小时内删除侵权内容。邮箱:dxsen@qq.com
THE END