2009-08-05 48 views
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"/> 

它们如何获取产品类中的product.name值。ActionScript中的全局对象

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; 
    } 

} 

} 

回答

0

的伎俩“名”是对产品类中的公共变种。根据定义,任何其他课程都可以访问“名称”。这就是“公众”的意思。

0

_product产品类的私人实例。他们正在提供套件产品方法,其中产品值将私有变量设置为Product类的一个实例。

bracket notation文本=“{} product.name”上面的代码的一部分是简写符号为产物实例的名称属性绑定所包含的变量,在这种情况下,对组件属性(文本)。当设置产品方法提供了一个产品实例时,Flex会在内部激发事件以更新具有该属性绑定的组件。

Defining Data Models - Flex Quickstarts