ActionScript中的全局对象

时间:2009-08-05 17:38:49

标签: flex actionscript-3

private var _product:Product;

        [Bindable]
        public function get product():Product
        {
            return _product;
        }

        public function set product(p:Product):void
        {
            _product = p;
            tn.selectedIndex = 0;
        }

<mx:Label text="{product.name}" fontSize="11" fontWeight="bold"/>

他们如何获得产品类中的product.name值。

package samples.flexstore
{

[Bindable]
public class Product
{

    public var productId:int;
    public var name:String;
    public var description:String;
    public var price:Number;
    public var image:String;
    public var series:String;
    public var triband:Boolean;
    public var camera:Boolean;
    public var video:Boolean;
    public var highlight1:String;
    public var highlight2:String;
    public var qty:int;

    public function Product()
    {

    }

    public function fill(obj:Object):void
    {
        for (var i:String in obj)
        {
            this[i] = obj[i];
        }
    }

    [Bindable(event="propertyChange")]
    public function get featureString():String
    {
        var str:String = "";
        if (triband)
            str += "Tri-band ";

        if (camera)
            str += "Camera ";

        if (video)
            str += "Video";

        return str;
    }

}

}

3 个答案:

答案 0 :(得分:1)

“{product.name}”,该产品指的是getter方法!

这是Flex / ActionScript 3的getter和setter方法的诀窍 http://livedocs.adobe.com/flex/201/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&file=ascomponents_147_08.html

答案 1 :(得分:0)

“name”是Product类的public var。根据定义,任何其他类都可以访问“name”。这就是“公共”的含义。

答案 2 :(得分:0)

_product Product 类的私有实例。他们为 set product 方法提供 Product 值,该值将 _product 私有变量设置为Product类的实例。

上述代码的 text =“{product.name}”部分中的bracket notation是绑定包含变量的简写符号,在本例中为 name < / em> product 实例的属性,到组件属性( text )。当 set product 方法提供 Product 实例时,Flex会在内部触发事件,以更新具有该属性绑定的组件。

Defining Data Models - Flex Quickstarts