GWTP typesafe with @UiHandler for ui elements
GWTP typesafe with @UiHandler for ui elements
在 GWTP 之前,我使用这样的方法:
Button button = new Button();
button.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
// doSomething()
}
});
但是 gwtp 框架让我使用这个方法:
@UiField
Button button;
@UiHandler("button")
void onButtonClick(ClickEvent e){
getUiHandlers().buttonClickAction();
}
我想知道是否有任何 TYPESAFE 解决方案?
如何给@UiHandler()
类型安全值f.e.:
@UiHandler(button);
?
首先@UiHandler
是GWT UiBinder的一个特性。它与 GWTP 无关。如果要保证xml文件中ui:field
的类型没有人改,可以先用@UiField
映射
@UiField
Button button;
@UiHandler("button")
void onButtonClick(ClickEvent e){
getUiHandlers().buttonClickAction();
}
这样,万一有人把 ui:field 不放在 ui.xml 文件中的按钮上 - 它会在编译时失败。希望对您有所帮助
在 GWTP 之前,我使用这样的方法:
Button button = new Button();
button.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
// doSomething()
}
});
但是 gwtp 框架让我使用这个方法:
@UiField
Button button;
@UiHandler("button")
void onButtonClick(ClickEvent e){
getUiHandlers().buttonClickAction();
}
我想知道是否有任何 TYPESAFE 解决方案?
如何给@UiHandler()
类型安全值f.e.:
@UiHandler(button);
?
首先@UiHandler
是GWT UiBinder的一个特性。它与 GWTP 无关。如果要保证xml文件中ui:field
的类型没有人改,可以先用@UiField
映射
@UiField
Button button;
@UiHandler("button")
void onButtonClick(ClickEvent e){
getUiHandlers().buttonClickAction();
}
这样,万一有人把 ui:field 不放在 ui.xml 文件中的按钮上 - 它会在编译时失败。希望对您有所帮助