【muzzik分享】:monitor 数据监听器(低成本搭建界面,MVVM 必备)

区别大不大用用就知道了,你还可以用 monitor 自己定制视图的更新,或者用来实现 mvvm,monitor_trigger 只是我根据 monitor 封装的一个使用例子

用了下,感觉不错,全局对象怎么映射呢?

monitor只能监听子数据,顶层对象 data = { a: 0 },只能监听 a 及下层数据

具体是注意什么规范呢


怎么才能写成屎山 哈哈哈

monitor

监听的数据尽量不要依赖外部模块,比如 a 模块和 b 模块互相监听各自的数据,像这样继续下去,一旦其中任何一个模块出问题,其他监听了问题模块数据的模块都会出现问题

monitor_trigger

比如节点树

  • a (组件A)
    • b (组件B)
      • d
    • c

c,d 节点挂载了 monitor_trigger
c 节点的数据目标尽量只用组件A
d 节点的数据目标尽量只用组件B

每个组件模块的数据只提供给下属节点和组件,不包括下属组件的子节点,避免组件间交叉使用,否则很容易出错,后续维护也困难

原来如此 明白了,每个模块监听各自本身的数据,然后谁挂的monitor 数据目标就是谁

这个和vue响应式很像

Vue 3 中的 响应式原理 是通过使用 ES6 的 Proxy 对象来实现的。

而Vue2则是利用了 Object.defineProperty 的方法里面的setter 与getter方法的 观察者模式 来实现。

已经用上了,很好用

谢谢支持,后续的更新在
https://gitee.com/muzzik/mk_framework/blob/main/assets/@framework/mk_monitor.ts

如果需要更新可以去这里看看

cocos2.4版本能用吗

monitor 肯定可以用
monitor_trigger 没试过,不过没用到什么特殊操作,你改一改应该可以用

源码点不动了 大哥

404了
:crazy_face: :crazy_face: :crazy_face: :crazy_face:

https://forum.cocos.org/t/topic/139050/29?u=1226085293