Reference Binding"
From Documentation
Dennischen (talk | contribs) |
|||
Line 9: | Line 9: | ||
=Make an expression reference= | =Make an expression reference= | ||
− | Reference binding allows us to make a reference for a EL expression with a custom name. | + | Reference binding allows us to make a reference for a EL expression with a custom name. We can use the reference in another EL expression nested in the component that has this reference binding. Typically we use reference binding to make expression shorter or modularize the view<ref>When using this feature, you have to avoid to save to a first-term only expression, read http://books.zkoss.org/wiki/ZK_Developer%27s_Reference/MVVM/Data_Binding/Property_Binding#Limitation for more detail.</ref>. |
Steps to use this feature: | Steps to use this feature: | ||
# Bind a custom attribute on a component with <tt> @ref </tt>. | # Bind a custom attribute on a component with <tt> @ref </tt>. | ||
− | # Use the custom attribute in other EL | + | # Use the custom attribute in other EL expressions that nest in children components |
<blockquote> | <blockquote> | ||
Line 61: | Line 61: | ||
</source> | </source> | ||
− | In above example, we have a veiw - person.zul which binds components to '''p.firstName''' and '''p.lastName'''. This view could be reused by other | + | In above example, we have a veiw - person.zul which binds components to '''p.firstName''' and '''p.lastName'''. This view could be reused by other views that provides a reference '''p'''. |
− | |||
− | |||
=Version History= | =Version History= |
Revision as of 01:05, 9 March 2012
Since 6.0.1
Make an expression reference
Reference binding allows us to make a reference for a EL expression with a custom name. We can use the reference in another EL expression nested in the component that has this reference binding. Typically we use reference binding to make expression shorter or modularize the view[1].
Steps to use this feature:
- Bind a custom attribute on a component with @ref .
- Use the custom attribute in other EL expressions that nest in children components
- ↑ When using this feature, you have to avoid to save to a first-term only expression, read http://books.zkoss.org/wiki/ZK_Developer%27s_Reference/MVVM/Data_Binding/Property_Binding#Limitation for more detail.
Basic usage example
<window apply="org.zkoss.bind.BindComposer"
viewModel="@id('vm') @init('foo.MyVM')">
<vlayout p="@ref(vm.person)">
<hlayout>
First Name: <textbox value="@bind(p.firstName)" />
</hlayout>
<hlayout>
Last Name: <textbox value="@bind(p.lastName)" />
</hlayout>
</vlayout>
</window>
In above example, we add a reference to vm.person with name p to the vlayout. So, inside the vlayout, the p could be used by other EL expression.
Moudlarize view example
<window apply="org.zkoss.bind.BindComposer"
viewModel="@id('vm') @init('foo.MyVM')">
<include p="@ref(vm.person1)" src="person.zul"/>
<include p="@ref(vm.person2)" src="person.zul"/>
</window>
Moudlarize view example - person.zul
<vlayout>
<hlayout>
First Name: <textbox value="@bind(p.firstName)"/>
</hlayout>
<hlayout>
Last Name: <textbox value="@bind(p.lastName)"/>
</hlayout>
</vlayout>
In above example, we have a veiw - person.zul which binds components to p.firstName and p.lastName. This view could be reused by other views that provides a reference p.
Version History
Version | Date | Content |
---|---|---|
6.0.1 | May 2012 | The new reference-binding feature. |