我想声明一个变量,其值可以显示在应用程序的任何位置(在任何页面上),并且可以从任何微流中修改。我们怎么能这样做?
问问题
1395 次
1 回答
3
由于 mendix 中的所有可变值都由实体中的属性表示,因此您需要创建一个实体才能修改值。Mendix 中最接近全局变量的是单例实体上的属性。
假设我们希望能够通过其 UI 或在微流程中更改您的应用程序的某些设置。为此,我们可以创建一个“AppSettings”实体,其中包含需要设置的所有不同“全局变量”的属性。
为了使其成为单例实体,我们需要确保数据库中只有一个此类对象。为此,一种常见的做法是实现一个“GetOrCreate”微流程,该微流程从数据库中检索“AppConfiguration”对象,如果还没有,则创建一个。
我们现在可以在任何需要读取或修改应用设置的地方使用“GetOrCreateAppConfiguration”,例如微流。
使用“GetOrCreateAppConfiguration”,我们还可以创建和设置页面,管理员可以在其中使用带有 Microflow 检索的 DataView 修改 AppConfiguration 属性。
我们还可以使用数据视图向用户显示 AppName“全局变量”,并使用基于功能标志“全局变量”的条件可见性来显示或隐藏 UI 元素。请注意,这意味着我们可能不应该授予普通用户对“AppConfiguration”属性的写入权限。
于 2019-04-24T19:59:47.877 回答