2016-10-10 7 views
-1

코드 사이에 어떤 차이 :

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

반환 :

true 
false 

$ {} @ref 작동하지()?

답변

1

짧은 대답 : 아니오.

${...}의 정적식이 한 번만 계산되기 때문에 값 자동 업데이트를 원하면 @load(...)을 사용하십시오.

두 번째로 @ init/@ load의 bind 주석은 정적 EL 표현식보다 나중에 ZK Bind 라이프 사이클에서 계산됩니다.

ZK가 먼저 ${empty r}을 시도하고 평가합니다.이 시점에서 r은 정의되어 있지 않으므로 ${empty r}은 null입니다. 그러면 라이프 사이클의 후반부에 데이터 바인딩 주석 @이 처리됩니다.