Бесплатно скачать Adobe Flash Player
Flash Ripper RSS Readers

Как отбиндить переменную во Flex

Недавно Андрей Микитюк задал мне простой вопрос — как отменить биндинг переменной во Flex? Честно говоря, я не смог ему ответить, зато он сам нашел готовый ответ в блоге одного из индийских Flex-евангелистов Raghunath Rao Thricovil, или просто — Raghu.

Тем, кто еще не в курсе, напомню: связывание, или биндинг данных (data binding) — одна из мощных фишек Флекса. Фишка в том, что переменная a связывается с переменной b и после этого значение a будет изменяться каждый раз, когда изменится значение b — они связаны (binded). Один из простейших примеров — текст, вводимый в поле ввода, автоматически появляется в другом месте приложения при вводе / удалении каждого нового символа. При грамотном применении биндинг позволяет сэкономить кучу кода и времени. Для начинающих (и не только) есть пара коротких уроков по биндингу — очень рекомендую.

А как отменить связывание переменнных?

Оказывается, отменить биндинг довольно просто в AS3 и невозможно в MXML. В AS3 это делается при создании биндинга стандартным образом с помощью метода bindProperty. Этот метод возвращает объект типа ChangeWatcher, который может "наблюдать" (watch) за самим связыванием, реагируя каждый раз при изменении переменной b. Чтобы разорвать связывание, достаточно вызвать на этом объекте-смотрителе метод unwatch(). Вот как это все выглядит в коде, а вот — как это работает.

Вообще, у Raghu весьма полезный блог.

Писал Rost, 28 Июль 2008 22:01

Найдены баги:

Дата байндинг, Рост. ;-)

Бармалей - 28 Июль 2008 22:34

В принципе действительно "байндинг", но это совсем ужасно читается/произносится в русской речи. Также ужасно, когда человек говорит компайлер, вместо компилер/компилятор.

Например, все знакомые .NET-разработчики говорят именно датабинд. То есть, это уже можно считать термином, который произносится как бинд, и это не есть слово английского языка байнд :), это именно термин в нашем языке (украинском,беларусском,русском).

Alexey - 28 Июль 2008 22:53

Да нормально это читается/произносится. Нужно просто пару дней поделать это правильно. =)

Бармалей - 29 Июль 2008 9:22

оффтоп: первые инструменты от aviary стали уже доступны, а ещё никто ничего не написал...

- 29 Июль 2008 10:12

Да-да. Помню, где-то у меня во фреймворке лежал этот класс, который я портировал на свою IDE

Jloa - 29 Июль 2008 14:00

оффтоп: первые инструменты от aviary стали уже доступны, а ещё никто ничего не написал...

Да мы пишем, пишем. Только не обо всем сразу :)

Рост - 29 Июль 2008 14:27

То есть, это уже можно считать термином, который произносится как бинд, и это не есть слово английского языка байнд :)

До тех пор пока не начнёшь общаться с американскими коллегами :)

Кстати, к своему стыду я таки произносил как "бинд". Теперь не уверен, что американцы меня поняли :(

Dan - 30 Июль 2008 16:33



Это запись из категории 'Flex'. 10 еще cвежих:

Архивы по категориям:

3D-18, Adobe AIR-38, Animation-1, Apache Ant-1, Architecture-1, ARP-1, Art-26, Articles-26, AS3-57, Books-9, Business-3, Cairngorm-3, CI-1, Classes-10, Coding-31, Community-118, Components-19, Contests-30, conventions-1, Cool-Job-10, Debug-21, Design-28, Development-84, ecology-4, EMO-2, Events-17, Extensions-2, FAQ-9, FDS-1, Flash and html-8, Flash Player-38, Flash Updates-12, flash-on-devices-1, Flash-scene-1, flash10-4, FlashLite-2, Flex-49, Flex 2-80, flex4-3, flexcamp-2, Flickr-1, FMS-2, FPUG-61, frameworks-1, Games-20, Good Job!-44, HaXe-16, Health-2, Humor-11, Ideas-14, IV-1, JavaScript-2, Job-30, JSFL-8, Links-2, Linux-3, Maps-1, Math-8, Money-16, music-1, MXML-1, Open Source-16, Optimization-4, parenting-3, Patterns-2, Personalities-27, Philosophy-4, Politics-1, posters-1, Preloading-3, Productivity-10, PureMVC-11, Pv3d-1, Rafpug-5, Red5-3, Remoting-11, Resources-21, Ruby-6, SAAS-1, Security-11, SEO-9, Silverlight-7, Sound-3, sport-4, Strategy-122, Tamarin-2, Tools-113, Training-3, Trash-8, URAFPUG-14, Urgent-1, Usability-6, Video-6, VoIP-7, Wallop-1, Wishlist-3, XML-1, Архив всех записей (большой)

За последние месяцы:

Ноя 2008: Ноябрьская встреча RAFPUG 12 — для креативных, В продолжение темы флэш-блогов, весь Ноя

Окт 2008: Ура — вторая лицензия Alternativa3D уезжает в Киев!, Влещь на глагне III IIIIIII?, весь Окт

Сен 2008: Встречайте Open Source Flash Media Server — Mammoth, Срочно нужен толковый Flex-разработчик в Харькове (+Java), весь Сен

Авг 2008: Flex Gangsta Rap Video WTF Bro?, 27 сентября — встреча UAFPUG во Львове и плюшки от Adobe, весь Авг

Июл 2008: Тенденции среди работодателей: Adobe Flex, Adobe AIR, Silverlight, Спорт спасет красоту, которая спасет мир!, весь Июл

Июн 2008: Попытка предварительных выводов о встрече аниматоров, Онлайн трансляция встречи аниматоров в Донецке, весь Июн





Примечания:
Статус документа
: в процессе
   2002-2007 Производство: Рост Прибыли · О проекте · Подписка на новости (RSS)