@template"

From Documentation
m (replace tt with code (via JWB))
m (replace tt with code (via JWB))
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.

Revision as of 15:05, 12 January 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

Last Update : 2022/01/12


Version Date Content
6.0.0 February 2012 The MVVM was introduced.




Last Update : 2022/01/12

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