【发布时间】:2011-09-28 16:13:23
【问题描述】:
我有一个通过 AMF 从服务器延迟加载数据的既定模式。
private var _XeventDispatched:Boolean;
private var _X:ArrayCollection;
public function get X():ArrayCollection{
if(!_XeventDispatched && (_X==null || _X.length==0)){
var evt:Event = new Event();//whatever event is need for this data member
dispatcher.dispatchEvent(evt);
_XeventDispatched = true;
}
return _X;
}
public function set X(ac:ArrayCollection):void{
return _X;
}
这样,数据在需要时才从服务器加载。 (顺便说一下,我使用的是 Mate 框架,所以当 UI 被实例化并且注入器触发时,它们会在数据管理器类中调用这个 get 方法。)
我想做的是创建某种元数据标签,类似于 [Bindable],它将添加上述方法来代替公共属性。
[LazyLoaded(eventName="com.myCompany.LoadX")]
public var X:ArrayCollection;
编译器对这种类型的扩展有任何钩子吗?它会节省很多难以阅读的样板代码。
【问题讨论】:
标签: apache-flex actionscript flex4 mate