@load()和$ {}

时间:2016-10-10 06:04:33

标签: el zk ref

代码:

<zk>
    <vbox r="@ref(1)">
        <label value="${empty r}" />
        <label value="@load(empty r)" />
    </vbox>
</zk>

返回:

true
false

$ {}没有使用@ref()?

1 个答案:

答案 0 :(得分:1)

简短回答:不,不是。

首先,如果您想要自动更新值,请使用@load(...),因为${...}中的静态表达式只会被评估一次。

其次,绑定注释@ init / @ load后来在ZK Bind生命周期中计算,而不是静态EL表达式。

因此,ZK首先尝试并评估您的${empty r},此时r未定义,因此${empty r}为空。 然后在生命周期的后期,它将处理数据绑定注释@。