我有一个简单的UI类
public class HelloWorldUI extends UI {
@Override
protected void init(VaadinRequest request) {
System.out.println("Initialized !");
final VerticalLayout layout = new VerticalLayout();
layout.addComponent(new Label("Hello World !"));
setContent(layout);
}
@Override
public void detach() {
System.out.println("Detach !");
super.detach();
}
@Override
public void attach() {
System.out.println("Attach !");
super.attach();
}
}
当第一次我的UI被加载,我看到在输出我的控制台
附上!
初始化!
这是OK,这就是我的预期。 但是,当我刷新浏览器,我的控制台输出分别为
附上!
初始化!
分离!
惊人 ! 我想Detach !
可先产生, 因为 ( 我认为),当浏览器被刷新, detach()
方法应该调用和attach()
init()
应当遵循。 但实际上, detach()
方法将调用后attach()
方法。 有什么不对我的想法?