Apache flex Flex:数据绑定手表

Apache flex Flex:数据绑定手表,apache-flex,flash,actionscript-3,data-binding,actionscript,Apache Flex,Flash,Actionscript 3,Data Binding,Actionscript,鉴于此MXML组件: 当test2.text.length>5的值发生变化时,如何调度事件?我尝试过ChangeWatcher、BindUtils和PropertyChangeEvent,但没有成功:( 谢谢, [编辑] 从下面复制我的评论: 嗯……实际上,我在自己的TextField组件中使用了一个新的可绑定字段,名为validationResult。我尝试进行原子验证,而不是全部验证。无论如何,test2.text.length>5条件是每个实例定义的,所以我不能像这样硬编码 MXML示例

鉴于此MXML组件:

当test2.text.length>5的值发生变化时,如何调度事件?我尝试过ChangeWatcher、BindUtils和PropertyChangeEvent,但没有成功:(

谢谢,

[编辑]

从下面复制我的评论:


嗯……实际上,我在自己的TextField组件中使用了一个新的可绑定字段,名为validationResult。我尝试进行原子验证,而不是全部验证。无论如何,test2.text.length>5条件是每个实例定义的,所以我不能像这样硬编码

MXML示例:


为什么不在test2的变更事件中通过一个新事件呢

你有吗

 private var _lengthCheck:Boolean = false;
 function test2_ChangeHandler(event:Event):void
 {
     if (_lengthCheck != (test2.text.length > 5))
     {
         _lengthCheck = (test2.text.length > 5);

         if (test2.text.length > 5)
             dispatch(new Event("LENGTH_GREATER_THAN_5"));
         else
             dispatch(new Event("LENGTH_LESS_THAN_5"));
     }
 }


您不能定义“validationResult”吗作为带有私有变量的get/set对来保存数据,每次使用不同的值调用setter时,然后使用变量,设置值,然后调度您自己的自定义事件?这就是Flex框架中事件调度的完成程度。

嗯……实际上,我在我自己的TextField组件ca中使用了一个新的可绑定字段Alled validationResult。我正在尝试进行原子验证,而不是全部验证。无论如何,test2.text.length>5条件是针对每个实例定义的,因此我无法对其进行硬编码。示例MXML:您使用的是mx:text还是mx:TextArea?没有mx:TextBox…我的错;它实际上是一个扩展的文本输入。请阅读我的注释以获得下面的答案。我不知道我不理解这个问题。为什么不让NewTestInput validationResult setter在事件发生变化时调度事件?或者让它与事件绑定?
<mx:Script>
<![CDATA[
   private var _test2 : String = "test2.text.length &gt; 5";

   public function set test2( _test2 : String ) : void{
      dispatchEvent(new Event("test2CHANGED"));
      this._test2 = _test2;
   }
]]>
</mx:Script>
<mx:TextBox id="test" text="{_test2}" />