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

의 트릭

는 "이름이"Product 클래스의 공용 VAR이다. 정의에 따르면 "이름"은 다른 클래스에서 액세스 할 수 있습니다. 그것은 "대중"이 의미하는 것입니다.

0

_product제품 클래스의 전용 인스턴스입니다. 그들은 세트 제품 제품 값을 가지고 _product 세트 제품을 Product 클래스 인스턴스에 공급합니다.

텍스트

bracket notation = "{product.name}는"상기 코드 부는으로,이 경우, 제품 인스턴스의 이름 속성을 포함 변수 바인딩 줄임말이다 구성 요소 속성 (텍스트). 제품 세트 메서드가 제품 인스턴스로 제공되면 Flex는 해당 속성이 바인딩 된 구성 요소를 업데이트하는 이벤트를 내부적으로 발생시킵니다.

Defining Data Models - Flex Quickstarts