Программный эквивалент: {foo (boundProperty)}? - PullRequest
2 голосов
/ 23 января 2011

Имеется ли программный эквивалент следующего:

При использовании mxml я могу связать свойство с функцией, так что если свойство изменяется, вызывается связанная функция (со связанным свойствомпараметр.

Например:

<fx:Script>
    <![CDATA[

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

    ]]>
</fx:Script>


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

Есть ли программный эквивалент? Заранее спасибо!

1 Ответ

1 голос
/ 23 января 2011

Да.

Прошло много времени с тех пор, как я поиграл с этим, но эффективно компилятор MXMLC обработает ваши файлы .mxml и файлы с метаданными в функционально эквивалентные исходные файлы AS3, которые затем скомпилируются в байт-код. Если вы запускаете MXMLC из командной строки, включите опцию keep-generate-actionscript = true. В IDE вы должны использовать это в параметрах проекта-> свойства-> компилятора.

Имейте в виду, что эти сгенерированные файлы на самом деле не предназначены для чтения, но в конечном итоге они показывают вам многое из того, что происходит за кулисами, включая способ реализации привязок mxml.

(точнее, есть вероятность, что http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/binding/utils/BindingUtils.html и ChangeWatcher.html как-то связаны с тем, что вы хотите.)

...