ASTRO轻应用 ASTROZERO-管理AstroZero高级页面:管理页面级数据源、全局状态
管理页面级数据源、全局状态
页面组件之间,可以通过配置事件和动作进行信息交互。当页面组件较多,且需要进行信息交互时,频繁的给每个组件去定义事件或动作就比较繁琐了。此时,可以通过定义全局状态,来实现页面级所有组件中数据信息的更新。
AstroZero低代码平台高级页面支持设置全局状态,通过页面级内存方式共享数据,即采用集中式存储管理页面所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。简单的理解就是全局状态,可理解为页面中所有组件的共享状态,不管组件在页面的哪个位置或层级,任何组件都能获取状态或触发状态改变的动作。全局状态相当于全局变量,属性是私有的,需要在组件的js文件中,使用预置的“this.$mstore.dispatch”方法,来修改状态数据。
思考:什么情况下,应该使用全局状态?
解惑:当页面组件构成比较简单,组件间不需要频繁的进行信息交互时,不需要设置全局状态。反之,则建议使用全局状态,通过设置并使用全局状态,可以帮助您管理页面所有组件的共享状态。
- 参考登录AstroZero新版应用设计器中操作,登录应用设计器。
- 在左侧导航栏中,选择“界面”。
- 在高级页面中,单击对应的页面,进入高级页面开发界面。
- 在页面右上角,单击,定义全局状态。
定义全局状态使用JavaScript编程语言,不支持TypeScript。全局状态结构固定以MStore命名,每个页面仅包含一个全局状态实例,方便在组件调试的过程中,轻易的获取整个当前页面状态的快照。全局状态的结构定义由以下三部分组成:
- state:定义页面所有组件的初始状态数据,即页面中所有组件共享状态的初始数据源。
- mutations:状态变更的唯一方法是提交mutation。mutation以声明的方式,将state变化映射到视图,每次state的变更都需要定义一个mutation。mutation使用对象风格的提交方式,整个对象都作为载荷(payload)传给mutation函数,mutation都是同步事务。
- actions:通过actions执行状态数据变更,用于衔接state和mutation。Action可以包含任意异步操作,通常用于绑定状态和组件,可以调用服务。
- 在页面的组件js文件中,使用预置的“this.$mstore.dispatch()”方法,修改状态数据。
- 可视化数据大屏开发_Astro Canvas_低代码平台-华为云
- 华为云低代码平台_低代码开发平台_华为云Astro-华为云
- 大屏应用Canvas_华为云Astro_低代码平台-华为云
- Astro轻应用_零代码平台_开发无忧加速创新
- Astro轻应用_Astro大屏应用_分钟级构建业务大屏
- 华为云Astro低代码平台能力_华为云Astro_低代码平台-华为云
- 低代码工作流_业务流程管理系统_低代码平台-华为云
- Astro轻应用_低代码开发平台Astro Zero_新手入门
- Astro轻应用_低代码开发平台Astro Zero_码农防脱神器
- 零代码开发平台_托拉拽开发应用_华为云Astro-华为云