Actionscript 3 Flex:绑定函数调用

Actionscript 3 Flex:绑定函数调用,actionscript-3,events,apache-flex,binding,actionscript,Actionscript 3,Events,Apache Flex,Binding,Actionscript,我已经退出Flex开发一段时间了,我正在努力理解我遇到的一些代码。我在下面提供了一个示例,但其要点是,为什么在事件处理程序中使用{}?那不是装订吗?它是做什么用的 在下面的示例中,使用anEvent={doSomethingevent}和使用anEvent=doSomethingevent有什么区别 我认为在你的案例中,这两种方法没有任何区别。当您希望绑定组件的特定属性以始终使用函数的返回值时,方法绑定非常有用 例如,如果您有一个标签,并且希望将其文本绑定到一个函数,该函数返回基于可绑定值的字符

我已经退出Flex开发一段时间了,我正在努力理解我遇到的一些代码。我在下面提供了一个示例,但其要点是,为什么在事件处理程序中使用{}?那不是装订吗?它是做什么用的

在下面的示例中,使用anEvent={doSomethingevent}和使用anEvent=doSomethingevent有什么区别


我认为在你的案例中,这两种方法没有任何区别。当您希望绑定组件的特定属性以始终使用函数的返回值时,方法绑定非常有用

例如,如果您有一个标签,并且希望将其文本绑定到一个函数,该函数返回基于可绑定值的字符串,那么在这种情况下它将非常有用

请看这里:

在上面介绍的例子中,它只是一个事件处理程序,并且由于它没有返回任何值void,因此我不知道绑定如何在这里真正产生好处,因此不应该使用它

此外,您的事件处理程序是一个静态方法,据我所知,绑定不适用于静态方法


希望这能有所帮助。

我认为这两种方法在您的案例中没有任何区别。当您希望绑定组件的特定属性以始终使用函数的返回值时,方法绑定非常有用

例如,如果您有一个标签,并且希望将其文本绑定到一个函数,该函数返回基于可绑定值的字符串,那么在这种情况下它将非常有用

请看这里:

在上面介绍的例子中,它只是一个事件处理程序,并且由于它没有返回任何值void,因此我不知道绑定如何在这里真正产生好处,因此不应该使用它

此外,您的事件处理程序是一个静态方法,据我所知,绑定不适用于静态方法


希望这有帮助。

请查看下面我的答案,如果对您有效,请接受。谢谢。请看下面我的答案,如果对你有效,请接受。谢谢
<mx:Script>
    <![CDATA[
        private static function doSomething(e:CustomEvent):void {
            trace("something happens here");
        }
    ]]>
</mx:Script>

<myComponents:CustomComponent
    anEvent="{doSomething(event)}"
/>


// custom component definition
<?xml version="1.0" encoding="utf-8"?>
<mx:UIComponent 
    xmlns:mx="http://www.adobe.com/2006/mxml"
    width="100%" 
    height="100%">


    <mx:Metadata>
        [Event(name="anEvent", type="com.mydomain.CustomEvent")]
    </mx:Metadata>

    <mx:Script>
        <![CDATA[
            private function test():void
            {
                var e:Customevent = new CustomEvent("custom_event_name");
                dispatchEvent(e);
            }

            /** @inheritDoc **/
            override protected function commitProperties():void
            {
                super.commitProperties();
                test();
            }
        ]]>
    </mx:Script>

</mx:UIComponent>