java - framework - zk mvc
¿Es posible utilizar @NotifyChange en lugar de BindUtils.postNotifyChange? (1)
1) Si la "isDisabled"
asociada a "isDisabled"
no cambia en ningún caso, no es necesario.
Pero tal vez se loadFolderInfoList()
dentro de loadFolderInfoList()
2) Puedes imaginar que @NotifyChange({"arg1","arg2",...,"argN"})
es lo mismo que
for(String arg : args){
BindUtils.postNotifyChange(null, null, refToClassCalledFrom, arg);
}
3) Pero puede llamar a BindUtils.postNotifyChange(...)
desde cualquier lugar siempre que BindUtils.postNotifyChange(...)
una referencia a la VM.
4) Para mí, parece que este código pertenece a una clase anidada de FolderInfoEditViewModel
, que en sí mismo es VM así como FolderInfoEditViewModel
.
En este caso, se invoca @NotifyChage(...)
para la clase anidada pero
BindUtils.postNotifyChange(null, null, FolderInfoEditViewModel.this, "folderInfoList");
se refiere a su clase externa FolderInfoEditViewModel
y solo se puede archivar de esta manera.
Tengo un uso de confusión entre @NotifyChange y BindUtils.postNotifyChange, ¿Por qué utilizar este evento? Antes de leer esta pregunta En ZK ¿Podemos PostNotifyCambiar más de una variable ? Pero no puedo entender esta pregunta por qué usar esta más de una variable.
Aquí hay un ejemplo:
@Command
@NotifyChange({ "folderInfoList", "isDisabled", "selectedFolderInfo" })
public void refreshFolderInfo() {
logger.debug("Refresh Icon selected");
if (isDirty()) {
Messagebox.show(pageResourceBundle.getText("JS_CONFIRM_DATAMODIFED"), pageResourceBundle.getText("JS_CONFIRM_DATAMODIFED_TYPE"),
Messagebox.OK | Messagebox.CANCEL, Messagebox.QUESTION, new EventListener<Event>() {
public void onEvent(Event event) throws Exception {
if (Messagebox.ON_OK.equals(event.getName())) {
loadFolderInfoList();
selectedFolderInfo = null;
BindUtils.postNotifyChange(null, null, FolderInfoEditViewModel.this, "folderInfoList");
} else {
}
}
});
} else {
loadFolderInfoList();
selectedFolderInfo = null;
}
}
¿Alguien puede decirme:
Tengo cuatro preguntas:
1. ¿Por qué el uso está Deshabilitado en @NotifyChange?
2. ¿Este método puedo usar @NotifyChange en lugar de BindUtils.postNotifyChange?
3. ¿Cuál es la diferencia entre @NotifyChange y BindUtils.postNotifyChange?
4.Quiero usar solo un evento entre estos dos métodos @NotifyChange y BindUtils.postNotifyChange in. ¿Es posible para este método?