Свързването на Flex 3.5 е неуспешно, ако дестинацията започва с „резултат“

Е, колкото и странно да изглежда заглавието, следното приложение не работи според очакванията във Flex3.5:

<?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='result' text="{ti.text}"/>
</mx:Application>

В отговор на коментара и за добавяне на повече яснота към въпроса: тук механизмът за обвързване не актуализира result текста при въвеждане на ti.


person catholicon    schedule 22.03.2013    source източник
comment
Какво точно се проваля?   -  person benzonico    schedule 22.03.2013
comment
Обвързването не работи. Текстът никога не се актуализира. Вече знам отговора, но исках да публикувам въпроса, за да се спаси някоя друга бедна душа.   -  person catholicon    schedule 22.03.2013


Отговори (1)


След ден на отстраняване на грешки и внимателно разглеждане на генерирания скрипт за действие беше установено, че проблемът е името на елемента 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 конструктора беше зададен на нула. OTOH, във Flex3.5 е предадена анонимна функция, която извършва действителното присвояване result.text=value, което води до объркване за компилатора. Въпросът ми е, мога ли да убедя Flex4 да генерира подобна анонимна функция (и следователно да има същата грешка)?

person catholicon    schedule 22.03.2013