关于动作脚本的新手问题

Leo*_*eon 1 apache-flex adobe actionscript itemrenderer

我看到有人使用label作为DataGrid的ItemRenderer,代码就在这里.我只是不明白1)这里的"@"是什么意思:"数据.@价格"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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢

mwa*_*way 5

根据Adobe运营商的参考:

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