当我的应用程序启动时,其中一个部分尚未显示。当我使用处理程序发送数据,然后打开部件时,我在部件创建时无法获取此数据。如果我在启动应用程序时单击该部件,然后再次使用该处理程序,则该部件现在将接收数据。那么如何在尚未显示数据或创建数据时获取数据。如何获取之前发送的数据。
答案 0 :(得分:1)
IEventBroker不保留它广播的数据。
在使部件可见(渲染得更准确)之前,不会创建部件的类 - 您必须将其他东西存储在其他地方。
您可以使用某种“经理”类来保存数据。您的处理程序可以将数据放入管理器中,而部件可以从管理器中检索它。
管理经理的一种方法是使用可创建的单身人士:
@Creatable
@Singleton
public class MyMananger
{
...
}
这可以注入到处理程序和部分中,并且您将始终获得管理器的相同单个实例。