据我了解,区域是一个组件,我可以处理它的事件。
所以我输入以下代码:
@InjectComponent
private Zone zoneSample;
@OnEvent(component = "zoneSample")
private void zoneEvent() {
System.out.println(String.format("Zone client id: %s", zoneSample.getClientId()));
}
不会抛出任何异常,因此正确设置了区域 ID。但事件并没有被解雇! 此事件处理方法不应该匹配区域的所有事件吗?
我预计它会在呈现区域之前,之后和之后被解雇,因为我需要查看是否可以获取生成区域的client-id,以便稍后使用 AjaxResponseRenderer来显示此区域上课。
答案 0 :(得分:4)
区域没有发生任何事件。在这种情况下,有一个方便的mixin可以帮助你RenderNotification mixin。
它提供了两个事件:beginRender和afterRender,我认为这就是你所需要的。将mixin应用于区域后,处理事件的代码如下所示:
void onBeginRenderFromZoneSample(MarkupWriter writer)
{
...
}
void onAfterRenderFromZoneSample(MarkupWriter writer)
{
...
}