This article is out of date, please refer to zk-mvvm-book/8.0/syntax/data_binding/id for more up to date information.
@id( [EvaluateOnce EL-expression]
Target Attribute: viewModel, form, validationMessages
Purpose: To give an id to current binding target which can be used to reference its properties in the binding annotation of child components.
We suggest you to use a string literal in EL expression. Because binder only evaluate this annotation's EL expression once to determine ViewModel's id, and this EL expresion is also used in other child component's ZK bind annotation. If it's not a fixed value, it will cause incorrect evaluation result.
When we use it in "validationMessages" attribute, it gives an id to reference validation message holder.
When we use it in "form" attribute, it gives an id to reference form's middle object.
Form status variable's naming is:
Usage in viewModel attribute
<window apply="org.zkoss.bind.BindComposer" viewModel="@id('vm') @init('foo.ChildrenMenuVM')" validationMessages = "@id('vmsgs')" > </window>
Usage in form attribute
<grid form="@id('fx') @load(vm.user) @save(vm.user,before='register')"> </grid>
|6.0.0||February 2012||The MVVM was introduced.|