- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在 @NotifyChange 和 BindUtils.postNotifyChange 之间有一个混淆使用,为什么要使用这两个事件。在我阅读这个问题之前 In ZK Can we PostNotifyChange more than one variables .但是我不明白为什么要使用这个多个变量。
这是一个例子:
@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;
}
}
谁能告诉我:
我有四个问题:
1.为什么在@NotifyChange中使用isDisabled?
2.这里这个方法我可以用@NotifyChange代替BindUtils.postNotifyChange吗?
3.@NotifyChange 和 BindUtils.postNotifyChange 有什么区别?
4.我只想在方法中的这两个@NotifyChange 和BindUtils.postNotifyChange 之间使用一个事件。这个方法可行吗?
最佳答案
1) 如果与"isDisabled"
关联的变量在任何情况下都未被此调用更改,则您不需要。
但也许它在 loadFolderInfoList()
内部发生了变化2) 你可以想象 @NotifyChange({"arg1","arg2",...,"argN"})
与
for(String arg : args){
BindUtils.postNotifyChange(null, null, refToClassCalledFrom, arg);
}
3) 但只要您获得对 VM 的引用,就可以从任何地方调用 BindUtils.postNotifyChange(...)
。
4) 在我看来,这段代码似乎来自 FolderInfoEditViewModel
的嵌套类,它本身就是 VM 以及 FolderInfoEditViewModel
。
在这种情况下,为嵌套类调用了 @NotifyChage(...)
但是
BindUtils.postNotifyChange(null, null, FolderInfoEditViewModel.this, "folderInfoList");
指的是它的外部类 FolderInfoEditViewModel
并且只能通过这种方式存档。
关于java - 是否可以使用 @NotifyChange 而不是 BindUtils.postNotifyChange?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19977102/
我在 @NotifyChange 和 BindUtils.postNotifyChange 之间有一个混淆使用,为什么要使用这两个事件。在我阅读这个问题之前 In ZK Can we PostNoti
我是一名优秀的程序员,十分优秀!