Uknow | 优维低代码:Template State 模板状态数据
导语
优维低代码技术专栏,是一个全新的、技术为主的专栏,由优维技术委员会成员执笔,基于优维7年低代码技术研发及运维成果,主要介绍低代码相关的技术原理及架构逻辑,目的是给广大运维人提供一个技术交流与学习的平台。
连载第二十四期
《高级指引:Template State 模板状态数据》
▽
有时候我们希望在模板内进行消费类似 Context 上下文的数据,但又希望这些数据能控制在模板实例的作用域下:数据封装在模板内部、外部不可访问,同时一个模板的多个实例之间的数据互不影响。Template State 模板状态数据正是为了解决这个问题。
# 示例
定义:
该状态数据作用域为模板实例,因此,同一个模板的多个实例之间的数据是隔离的。另外该状态数据只能用于模板内部,无法用于模板外部,包括模板对外暴露的插槽中加入的外部构件。
在模板外部传递状态数据:
除上述示例列出的能力外,已支持的其它能力(类比 CTX):
条件判断 if
属性追踪 "track state"
异步数据 resolve(仅限使用在普通编排中的模板。在 useBrick 中使用模板时,该模板不能定义 resolve 的数据)
懒加载 lazy state.load
主动更新 state.refresh
追踪依赖 track
⊙ NOTE
如果该模板用于useBrick中,目前不可以使用 resolve 来定义异步的状态数据。