关于动作脚本的新手问题

时间:2011-03-11 23:54:00

标签: flex actionscript adobe itemrenderer

我看到有人使用label作为DataGrid的ItemRenderer,代码就在这里。 我只是不明白 1)这里的“@”是什么意思:“data。@ price” 2)“数据”的类型是什么,我该如何使用它? 为了理解这一点,我应该搜索哪个关键字?

package {
    import mx.controls.Label;
    import mx.controls.listClasses.*;

    public class PriceLabel extends Label {

        private const POSITIVE_COLOR:uint = 0x000000; // Black
        private const NEGATIVE_COLOR:uint = 0xFF0000; // Red

        override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
            super.updateDisplayList(unscaledWidth, unscaledHeight);

            /* Set the font color based on the item price. */
            setStyle("color", (parseFloat(data.@price) <= 0) ? NEGATIVE_COLOR : POSITIVE_COLOR);
        }
    }
}

由于

1 个答案:

答案 0 :(得分:5)

根据Adobe operators reference

  

标识XML或的属性   XMLList对象。例如,myXML。@ id   标识名为id的属性   myXML XML对象。你也可以使用   以下语法访问属性:   myXML.attribute(“id”),myXML [“@ id”],   和myXML。@ [“id”]。语法   建议使用myXML。@ id。要退货   所有属性名称的XMLList对象,   使用 @*。使用a返回属性   与ActionScript匹配的名称   保留字,使用属性()   方法而不是@运算符。