Привязка атрибута XML во Flex - PullRequest
       0

Привязка атрибута XML во Flex

0 голосов
/ 14 сентября 2010

У меня есть эта переменная в классе Model:

[Bindable]
public var someXml:XML;

Я использовал BindingUtils, чтобы получать уведомления при изменении XML:

BindingUtils.bindSetter(onChange, Model.getInstance(), "someXml");

private function onChange(value:Object):void {
    // do something
}

Функция onChange срабатывает при назначении XML-переменной, но не при изменении какого-либо атрибута XML:

Model.getInstance().someXml.@attr = "newValue";

Почему?

Ответы [ 2 ]

2 голосов
/ 14 сентября 2010

Поскольку XML не является EventDispatcher и поэтому не отправляет события изменения, когда изменяется его содержимое. Он происходит непосредственно от объекта, поэтому EventDispatcher отсутствует.

0 голосов
/ 25 ноября 2014

Проверьте класс XMLNotifier

"... Используется для просмотра изменений в объектах XML и XMLList. Эти объекты не являются EventDispatchers, поэтому если несколько элементов хотят просматриватьдля изменений они должны пройти через этот механизм. Вызовите watchXML (), передавая ту же функцию уведомления, которую вы передали бы XML.notification. Используйте unwatchXML (), чтобы удалить это уведомление. "

Этитолько две функции, представляющие интерес, и я думаю, что они говорят сами за себя.

...