@template"

From Documentation
m (replace tt with code (via JWB))
m ((via JWB))
 
(One intermediate revision by the same user not shown)
Line 5: Line 5:
 
=Syntax=
 
=Syntax=
  
<code> @template(</code> ''[EL-expression]'' <code>) </code>
+
<code>@template(</code> ''[EL-expression]'' <code>)</code>
  
 
= Description =
 
= Description =
 
'''Target Attribute:''' model, children
 
'''Target Attribute:''' model, children
  
'''Purpose:''' It should be used with <code> @bind </code>, <code> @load </code>. It determines which template to be used to render child components.
+
'''Purpose:''' It should be used with <code>@bind</code>, <code>@load</code>. It determines which template to be used to render child components.
  
 
The evaluation result of EL expression should be the name of a template which is used to render child components. The result template's name can be any template defined in the same id space.
 
The evaluation result of EL expression should be the name of a template which is used to render child components. The result template's name can be any template defined in the same id space.
Line 49: Line 49:
  
 
=Version History=
 
=Version History=
{{LastUpdated}}
+
 
 
{| class='wikitable' | width="100%"
 
{| class='wikitable' | width="100%"
 
! Version !! Date !! Content
 
! Version !! Date !! Content

Latest revision as of 07:35, 8 July 2022

Stop.png This article is out of date, please refer to zk-mvvm-book/8.0/syntax/data_binding/template for more up to date information.


Syntax

@template( [EL-expression] )

Description

Target Attribute: model, children

Purpose: It should be used with @bind, @load. It determines which template to be used to render child components.

The evaluation result of EL expression should be the name of a template which is used to render child components. The result template's name can be any template defined in the same id space.

Example

Dynamic template upon iteration status variable

<combobox model="@bind(item.options ) @template(forEachStatus.index eq 0 or forEachStatus.index eq 2?'model1':'model2')">
	<template name="model1" var="option" >
		<comboitem label="@bind(optionStatus)" description="@bind(option)"/>	
	</template>
	<template name="model2" var="option" >
		<comboitem label="@bind(optionStatus)" description="@bind(option)"/>	
	</template>
</combobox>


Recursive usage

<vlayout id="vlayout" children="@load(vm.nodes) @template('greenBox')">
	<template name="greenBox" var="node">
		<vlayout style="padding-left:10px; border:2px solid green;" >
			<label value="@bind(node.name)" />
			<vlayout
				children="@load(node.children) @template('greenBox')" />
		</vlayout>
	</template>
</vlayout>
  • vm.nodes has a tree-like structure, and node.children is a collection of node.

Version History

Version Date Content
6.0.0 February 2012 The MVVM was introduced.




Last Update : 2022/07/08

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.