程序化等价于:{foo(boundProperty)}?

时间:2011-01-23 09:49:12

标签: flex flex3 flex4

是否存在以下程序化等效项:

使用mxml时,我可以将属性绑定到函数,这样如果属性发生更改,将调用绑定函数(绑定属性作为参数。

例如:

<fx:Script>
    <![CDATA[

        [Bindable]
        var type:String;
        private function getText(t:String):String{
        }

    ]]>
</fx:Script>


<s:Label text="{getText(type)}" />

是否有程序化的等价物? 提前谢谢!

1 个答案:

答案 0 :(得分:1)

我玩这个已经有一段时间了,但实际上,MXMLC编译器会将带有元数据的.mxml文件和文件处理成功能相同的AS3源文件,然后将这些文件编译成字节码。如果从命令行运行MXMLC,则启用此选项的选项为keep-generated-actionscript = true。在IDE中,您应该在project-&gt; properties-&gt;编译器选项下使用它。

请注意,这些生成的文件实际上并不是可读的,但最终它们会向您展示幕后发生的很多事情,包括实现mxml绑定的方式。

(更直接相关的是,http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/binding/utils/BindingUtils.html和ChangeWatcher.html很有可能与您想要的内容有关。)