После дня отладки и тщательного изучения сгенерированного сценария действия было обнаружено, что проблема связана с именем элемента Text
. Переименование во что-то другое работает. Я знаю, почему это не удалось после просмотра сгенерированного кода — сгенерированный код имеет внутреннюю переменную «результат», которая конфликтует с именем назначения здесь. Итак, это работает. Уведомление result1
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
<mx:TextInput id='ti'/>
<mx:Text id='result1' text="{ti.text}"/>
</mx:Application>
Причина моего сообщения в том, что я хочу, чтобы кто-то еще, кто столкнулся с этим испорченным поведением, нашел что-то полезное в Google!
У меня тоже есть вопрос. Я попробовал то же самое с Flex 4, и это не привело к той же ошибке. Flex 4 также сгенерировал код с именем внутренней переменной 'result', но, к счастью, конфликта удалось избежать, так как для destFunction в конструкторе Binding было задано значение null. OTOH, во Flex3.5 ему передается анонимная функция, которая выполняет фактическое назначение result.text=value
, что приводит к путанице для компилятора. Мой вопрос в том, могу ли я убедить Flex4 создать аналогичную анонимную функцию (и, следовательно, иметь ту же ошибку)?
person
catholicon
schedule
22.03.2013