<?xml version="1.0" ?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init()">
<mx:Script>
<![CDATA[
import mx.events.PropertyChangeEvent;
import mx.binding.utils.ChangeWatcher;
import mx.binding.utils.BindingUtils;
import mx.controls.Alert;
private var namewatcher:ChangeWatcher;
private function init():void
{
namewatcher = BindingUtils.bindProperty(textArea,"text",person,"text");
ChangeWatcher.watch(textArea,"text",nameSetter);
// textArea.addEventListener(Event.CHANGE,change);
//namewatcher.unwatch();
}
private function bindMe():void{
namewatcher = BindingUtils.bindProperty(txt,"text", txtInp,"text");//前面属性跟着后面属性变化
}
private function unbindMe():void{
namewatcher.unwatch();
}
private function nameSetter(event:Event):void
{
Alert.show(event.toString());
}
private function change(event:Event):void
{
// Alert.show("changed");
}
]]>
</mx:Script>
<mx:TextInput id="txtInp" width="200" />
<mx:Text id="txt" width="200" />
<mx:Button label="Bind TextInput to Text" click="bindMe()" />
<mx:Button label="Unbind TextInput to Text" click="unbindMe()" />
<mx:TextInput id="textArea"/>
<mx:TextInput id="person"/>
</mx:Application>
分享到:
相关推荐
上述代码示例演示了这个过程,其中使用了ChangeWatcher观察器来监听属性变化,并在属性值变化时更新目标位置。 总之,AS3.0的绑定机制是一种高效的编程模式,它能够帮助开发者构建高效的应用程序架构。通过掌握绑定...
动态绑定是通过`ChangeWatcher`对象实现的,`watcher1`和`watcher2`分别用于这两个绑定。当不再需要绑定时,可以通过调用`unwatch()`方法来解除绑定,这样就不会再有属性之间的联动更新。 这个功能在Flex应用中非常...
- **ChangeWatcher**:虽然ChangeWatcher可以用来监视某些对象属性的变化,但它无法监控私有变量或自定义事件的变更,除非你手动处理这些事件。 - **自定义事件**:在使用自定义事件时,必须确保在源数据改变后正确...
- 当使用`BindingUtils.bindSetter()`或`ChangeWatcher.watch()`等方法时,记得调用`ChangeWatcher.unwatch()`来取消监听,以防止内存泄露。 3. **效果处理:** - 当使用动画效果(如`Effect`)时,在不再需要时...
- 如果使用了记录功能(如`BindingUtils.bindSetter()`或`ChangeWatcher.watch()`),那么在不再需要这些功能时,应当调用相应的取消记录方法(如`ChangeWatcher.unwatch()`)。这可以避免因记录未被清除而导致的...
2. **系统类泄露**:使用系统类如BindingUtils、ChangeWatcher等后,忘记执行相应的清除操作。 3. **效果泄露**:应用效果到组件后,删除对象前需停止效果并解除target引用。 4. **SWF泄露**:卸载SWF时,调用unload...