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