0
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"/>

How are they getting the product.name value which is inside product class.

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 Answers 3

1

"{product.name}" , the product refers to the getter method!

That's the trick of Flex/ActionScript 3's getter and setter methods http://livedocs.adobe.com/flex/201/html/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Book_Parts&file=ascomponents_147_08.html

Sign up to request clarification or add additional context in comments.

Comments

0

"name" is a public var on the Product class. By definition, "name" will be accessible to any other class. That's what "public" means.

Comments

0

_product is a private instance of the Product class. They are supplying the set product method with a Product value, which sets the _product private variable to an instance of the Product class.

The bracket notation in the text="{product.name}" portion of the above code is shorthand notation for binding the contained variable, in this case the name property of the product instance, to the component property (text). When the set product method is supplied a Product instance, Flex fires events internally that update the components that have that property bound.

Defining Data Models - Flex Quickstarts

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.