2009-08-05 44 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