ZK custom-attributes 元素

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

 定义一套定制属性.定制属性为与一个特定范围相关联的对象.可接受的范围包括组件,空间,页面,桌面,会话和应用.

  如下所述,custom-attributes 属性可以方便的指派定制属性而无需编程.通俗点说就是在页面保存一个对象,无需进行编程,后台直接获取.

<window>
    <custom-attributes main.rich="simple" very-simple="intuitive">
</window>

等价于

<window>  
  <zscript>   
    self.setAttribute("main.rich", "simple");    
   self.setAttribute("very-simple", "intuitive");   
 </zscript>
 </window>

你也可以指定定制属性的范围。 在实际项目中使用

   <z:template name="model">
                    <z:listitem onClick="@command('onClickProductSeries',this=self)" onCreate="@command('initProductSeries',this=self)">
                        <z:custom-attributes productSeries="${each}"/>
                        <z:listcell label="${w:familyLabel0(each)}">
                        </z:listcell>
                    </z:listitem>
                </z:template>
productSeries就是key,后台通过用户onClick事件来获取到这个key,就能得到这个${each}对象,后台获取的代码如下
    @Command("initProductSeries")
    public void initProductSeries(@BindingParam("this") Component component) {
        DefaultProductFamily defaultProductFamily = (DefaultProductFamily) component.getAttribute("productSeries");
}

[提示]:不要混淆<attribute>与<custom-attributes> 。他们毫不相干。 attribute 元素是定义闭合元素属性的一种方式,而custom-attributes 被 用于为一个特定范围指派定制属性。 

属性名称 描述
scope

[可选][默认:component]

指定定制属性关联的范围.

if

[可选][默认:none] 

指定为这个元素赋值的条件。 

unless

[可选][默认:none] 
 

指定不为这个元素赋值的条件

猜你喜欢

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