我正在使用zk框架处理项目。我有很多用户可以同时使用该应用程序。
如果其中一个更改了某个字段的值并触发@notifychange
我想要更新所有其他用户的视图。
例如,如果所有用户都在同一页面
<window title="Search" width="600px" border="normal"
apply="org.zkoss.bind.BindComposer"
viewModel="@id('vm') @init('demo.getting_started.mvvm.SearchViewModel')"
binder="@id('b') @init('demo.getting_started.mvvm.AnnotateBinderExt',queueName='myqueue',queueScope='session')">
<hbox align="center">
Keyword:
<textbox id="txt" value="@bind(vm.keyword)" />
Result:
<textbox value="@load(vm.keyword)" />
</hbox></window>
并且其中一个更改了我想要更新其他用户标签值的文本字段的值。
我尝试使用eventQueue
,但无法解决如何实施它。
答案 0 :(得分:2)
你几乎就在那里。
它之所以没有变化是因为@notifychange可以从Command
而不是GlobalCommand
调用。
查看this small talk what I wrote.
@Command
始终是相同的viewmodel,@GlobalCommand
可以与粘合剂范围内的其他视图模型联系。