如何在 mendix 中声明一个全局变量?

How to declare a global variable in mendix?

我想声明一个变量,它的值可以在应用程序的任何地方(任何页面)显示,并且可以从任何微流修改。我们该怎么做?

由于 mendix 中的所有可变值都由实体中的属性表示,因此您需要创建实体才能修改值。 Mendix 中最接近全局变量的是单例实体上的属性。

假设我们希望能够通过 UI 或在微流中更改您应用的某些设置。为此,我们可以创建一个 'AppSettings' 实体,其中包含需要设置的所有不同“全局变量”的属性。

要使它成为一个单例实体,我们需要确保数据库中只有一个同类对象。为此,通常的做法是实现一个 'GetOrCreate' 微流,该微流从数据库中检索 'AppConfiguration' 对象并在还存在 none 时创建一个。

我们现在可以在任何需要读取或修改应用程序设置的地方使用 'GetOrCreateAppConfiguration',例如微流。

使用'GetOrCreateAppConfiguration'我们还可以创建和设置页面,管理员可以在其中使用带有微流检索的 DataView 修改 AppConfiguration 属性。

我们还可以使用数据视图向用户显示 AppName“全局变量”,并使用基于功能标志“全局变量”的条件可见性来显示或隐藏 UI 元素。请注意,这意味着我们可能不应该授予普通用户对 'AppConfiguration' 属性的写入权限。