The <attribute> tag has two uses:
In a class definiiton, the <attribute> tag
defines an attribute that can be set in instances of the class.
<canvas height="30">
<class name="mybutton" extends="button">
<attribute name="myattr" type="string" value="after"/>
</class>
<mybutton text="before" myattr="after" onclick="setAttribute('text', this.myattr)"/>
</canvas>
In an instance, the <attribute> tag attaches an attribute to the instance. The attribute can be accessed from script.
<canvas height="30">
<class name="mybutton" extends="button">
<attribute name="myattr" type="string" value="after"/>
</class>
<mybutton text="before" onclick="setAttribute('text', this.myattr)">
<attribute name="myattr" value="perhaps later"/>
</mybutton>
</canvas>
See the Developer's Guide for a complete discussion.
Also see the documentation for <class> and the general description of LZX attributes. The Classes tutorial describes how
to use attributes to define a class.
| Name | Type (tag) | Type (js) | Default | Category |
|---|---|---|---|---|
name
|
String | initialize-only | ||
| The name of the attribute. | ||||
required
|
Boolean | "false" | initialize-only | |
| True if this is a required attribute. | ||||
type
|
"boolean" | "color" | "expression" | "number" | "size" | "string" | "text" | "html" | String | "expression" | initialize-only |
| The type of the attribute. This determines how the value is parsed. Attributes of type string are automatically quoted if when="immediate", for any other value of when, a literal string would have to be quoted to be used as a value. | ||||
value
|
Object | read/write | ||
| The initial value of the attribute. The type of this value is specified by the value of the type attribute; if that attribute is not present, it's the type of this attribute in this element's tag. The attribute is given this value when the element is created. | ||||
when
|
"immediately" | "once" | "always" | String | "immediately" | initialize-only |
When the initial value expression is to be
evaluated. One of:
when="immediately".
The setting for when can be overridden
when assigning a value to an attribute by using the
syntax
=${}. The
default for
when value is always, for
example: <view
title="$once{computeTitle()}" /> sets the
title of the view to a computed value and
<view title="${parent.subtitle}" \>
will cause the title of the view to
track parent.subtitle.
|
||||
Copyright © 2002-2008 Laszlo Systems, Inc. All Rights Reserved. Unauthorized use, duplication or distribution is strictly prohibited. This is the proprietary information of Laszlo Systems, Inc. Use is subject to license terms.