ZK 隐含对象

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_40646143/article/details/83622382

对于嵌入到ZUML页面的脚本,有一套可以使开发人员更有效地访问组件的隐含对象.这些对象对于zscript元素包含的Java代码及事件监听器指定的属性是可用的.当然对于EL表达是也是可用的.

  例如,self 是org.zkoss.zk.ui.Component 的用来代表被处理组件的一个实例.在下面例子中,在事件监听器中使用self来标识组件.

<button label="Try" onClick="alert(self.label)"/> 

同样,event代表当前事件监听器正在处理事件.因此上面语句等价程序如下:

<button label="Try" onClick="alert(event.target.label)"/> 

同理,如下

    @Command("initProductSeries")
    public void initProductSeries(@BindingParam("this") Component component) {
        DefaultProductFamily defaultProductFamily = (DefaultProductFamily) component.getAttribute("productSeries");
    }
    @Command("onClickProductSeries")
    public void onClickProductSeries(@ContextParam(TRIGGER_EVENT) Event event) {
        Component target = event.getTarget();
        DefaultProductFamily defaultProductFamily = (DefaultProductFamily) target.getAttribute("productSeries");
    }

常用的隐含对象列表

对象名称 描述
arg

java.util.Map

arg 参数会被传送到 org.zkoss.zk.ui.Executions类

的createComponents 方法.不能为null.

注意: 只有为包含页面(included page)(createComponents 方法的

第一个参数)创建组件时arg才是可用的.另一方面,包括onCreate事件在内的所有事件会在之后处理.然而,如果你想访问onCreate事件监听其中的arg,可以使用

org.zkoss.zk.ui.event.CreateEvent类的 getArg方法。 

与self.desktop.execution.arg相同。 

each

java.lang.Object 


当 ZK 为每个迭代元素赋值(evaluates)时,其代表被迭代

(iterated)集合的当前项目。一个迭代元素即为使用

forEach属性的元素。 

event 

org.zkoss.zk.ui.event.Event 或派生类  


当前事件。仅对事件监听器可用。 

self 

org.zkoss.zk.ui.Component 

组件本身

page 

org.zkoss.zk.ui.Page

页面,与self.page相同。 

forEachStatus 

org.zkoss.zk.ui.util.ForEachStatus 

一个迭代器(iteration)的状态。当为迭代元素赋值时,ZK 陈 列出(exposes)迭代发生时的相关信息。 

   

注释:红色表示为重点

猜你喜欢

转载自blog.csdn.net/qq_40646143/article/details/83622382
zk