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;
}
}
}
答案 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会在内部触发事件,以更新具有该属性绑定的组件。