关于Flex中的[Bindable]的使用
程序员文章站
2022-03-19 17:53:36
...
[Bindable]作为一种元素据标签,类似Java中的注解,告诉编译器在编译的时候做一些事情(给某些变量或者方法建立一些关系)
[Bindable]
public var name:String = "";
<mx:Label text="{name}" />
比如以上代码的意思是声明了一个name的变量,它被绑定到了label上,这时候程序在运行是,只要name的值发生了变化,那么Label的text属性值也会自动更新,而不用做其他任何事情。
可以使用在变量,类,get/set 三个地方,
对于get/set方法,如果方法内容比较复杂,那么编译器处于复杂度和效率的问题,会忽略这个绑定,这时候我们只能手动执行绑定,方法是:首先在需要被绑定的get/set方法上绑定一个事件,再改变变量值的地方分发该事件便可以了
[Bindable]
private var content:Array = new Array();
[Bindable]
public function set _content(ct:String):void
{
content = ct.split(SEP);
this.dispatchEvent(new Event("_contectChanged"));
}
[Bindable(Event("_contectChanged"))]
public function get _wholeText():String
{
if(content.length == 0)
{
return "";
}
else
{
var _w:String = "";
for(var i:int=0 ; i<content.length ; i++)
{
_w += content[i] +"\r\n";
}
return _w;
}
}
下一篇: 淘宝联盟自主推广和权益推广是什么