自定义组件,如何返回内部的一个控件的属性值?是不是用get方法

自定义组件,怎么返回内部的一个控件的属性值?是不是用get方法?
自定义组件myCanvas,里面有个button控件,当点击此button时,button的label作为组件的可读取属性selectedName,可被别的控件读取:
XML code

private var _sButtonName:String;

public function set selectedName(name:String):void
{
 _sButtonName = name;
}

public function get selectedName():String
{
 return _sButtonName;
}



组件内的button的click方法代码为:
XML code

private function selectedValue(evt:MouseEvent):void
{
  selectedName = evt.target.label;
}



现在在application中使用这个myCanvas组件(id为myCS),且另外有个textinput控件,其text值为
XML code

<mx:TextInput x="49" y="26" text="{myCS.selectedName}"/>



可运行后,点击myCS里的button,textinput并没有显示此button的label,问题出在哪里呢?

------解决方案--------------------
加到set方法上
[Bindable]
public function set selectedName(name:String):void
{
 _sButtonName = name;
}

才看到你这个名字不一样_sButtonName 和selectedName
------解决方案--------------------
[Bindable]标签的使用,分变量级别绑定,函数级别绑定和类级别的绑定

变量级别的绑定:顾名思义在变量上面加绑定,如果这个变量有变化才会触发事件,其他引用这个变量的地方才会变化,_sButtonName变了,跟这个_sButtonName 绑定的地方会变化,或者跟一个getter方法叫sButtonName的也会变化,但你的getter叫selectedName

在函数前定义,必须是通过setter和getter方式定义,必须写在set前面。setter方法里面变量变化后,会触发getter
[Bindable]
public function set Num(n:Number):void{...}
public function get Num():void{...}

在一个公有类的定义前使用,这样这个类的所有公有变量,set、get方式定义的函数,都可以用于绑定,这就是对象级别的绑定。