Apache flex Flex watch可绑定属性其他类
我正在使用Flex4创建一个应用程序。 当应用程序启动时,它读取XML文件并填充对象。.send()调用是异步的,因此我希望侦听/监视这个填充的对象,当它完成时,为其他类分派一个事件,以便它们可以使用它Apache flex Flex watch可绑定属性其他类,apache-flex,events,properties,bindable,Apache Flex,Events,Properties,Bindable,我正在使用Flex4创建一个应用程序。 当应用程序启动时,它读取XML文件并填充对象。.send()调用是异步的,因此我希望侦听/监视这个填充的对象,当它完成时,为其他类分派一个事件,以便它们可以使用它 package model{ public class LectureService extends HTTPService{ [Bindable] private var _lecture:Lecture; ... } xml被正确解
package model{
public class LectureService extends HTTPService{
[Bindable]
private var _lecture:Lecture;
...
}
xml被正确解析并加载到类讲座的对象讲座中
如果我在main.MXML应用程序中使用MXML表示法,效果很好(对象在异步请求后填充时使用):
我已经试过:
if(this.hasEventListener(“propertyChange”)){
this.dispatchEvent(mx.events.PropertyChangeEvent.createUpdateEvent(这个“讲座”,oldValue,value));
}
事件似乎已调度,但我无法侦听它。考虑使用
BindingUtils
类。您可以找到文档。还有几个使用示例:,。仅仅扩展类并不能解决所有问题。您应该仔细检查HTTP请求
change属性事件在内部用于观察者,不会在整个组件中分派。您想为您的讲师SlideDisplay
做的是覆盖源代码设置器。每次调用它时,都会绑定一个新值:
package components{
public class LectureSlideDisplay extends Image
{
override public function set source(value:Object):void
{
super.source = value;
// do whatever
}
public function LectureSlideDisplay()
{
super();
}
}
}
您应该认真阅读。对于想要答案的人,我已决定更改addEventListener对象。 使用以下内容是不正确的:
this.addEventListener(...)
改用:
lectureService.addEventListener(...)
我已更改代码,在主应用程序MXML中侦听此事件,然后在handler方法中,调用组件的public方法以使用新数据。谢谢,您的链接非常有用!
this.addEventListener(...)
lectureService.addEventListener(...)