我正在使用MVVM aproach处理ZK项目,我试图做的是显示@bind(each.info)值的通知但似乎不适合我,这是我到目前为止所做的。
<div width="59%" style=" float: left !important;" apply="org.zkoss.bind.BindComposer"
viewModel="@id('menu') @init('ma.schlemmer.headerbar.mainMenu')">
<hlayout children="@bind(menu.listMenu)">
<template name="children">
<a iconSclass="@bind(each.icon)" href="@bind(each.link)" autag="@bind(each.info)" onRightClick='Clients.showNotification("@bind(each.info)" ,"warning",this.self,"after_center",1000)'></a>
</template>
</hlayout>
</div>
谢谢你
答案 0 :(得分:1)
您可以使用ZK命令执行此操作。你应该得到你想要的结果:
<div width="59%" style=" float: left !important;" apply="org.zkoss.bind.BindComposer"
viewModel="@id('menu') @init('ma.schlemmer.headerbar.mainMenu')">
<hlayout children="@bind(menu.listMenu)">
<template name="children">
<a iconSclass="@bind(each.icon)" href="@bind(each.link)" autag="@bind(each.info)"
onRightClick="@command('showInfo', obj=each, comp=self)"></a>
</template>
</hlayout>
然后将此命令添加到View Model:
@Command
public void showInfo(@BindingParam("obj") ListMenu listMenu, @BindingParam("comp") Component comp) {
Clients.showNotification(listMenu.getInfo(),"warning",comp,"after_center",1000);
}
你没有提供足够的代码,所以我无法测试确切的情况,但基本上你需要将每个对象(我猜是像ListMenu对象)和组件传递给命令。然后,您可以轻松地显示通知。
祝你好运, Osvaldas