В Flex (Flash Builder 4) мне нужен способ узнать, изменилось ли что-то в коллекции массива.Flex - как определить, изменился ли объект DATA?
У меня есть пользовательский объект:
[Bindable] общественный вар _myobject: MyObject;
В основном это класс, содержащий кучу различных свойств String и Number.
Мне нужен надежный способ узнать, было ли изменено какое-либо из свойств. Например, я привязываю свойства к пользовательскому интерфейсу (полям), но некоторые свойства могут также меняться с помощью кода.
Есть ли способ сделать это? Я нашел ChangeWatcher, но похоже, что он смотрит только на одно простое свойство, такое как String или Number. Мне нужно следить или обнаруживать изменения во всех свойствах моего объекта, надеюсь, без необходимости добавлять события ChangeWatcher к каждому свойству. Это возможно?
если есть много свойств объектов, которые могут изменяться с помощью кода, вам лучше вручную ногами события изменения всякий раз, когда вы что-либо изменить. – Kamal
Итак, везде, где я делаю изменения в коде, мне нужно добавить код активации событий ... Что касается экрана со всеми свойствами, связанными с полями, нужно ли добавлять события «Событие» в каждое поле или нет более простого способа обнаружить, что мой объект изменился при изменении свойства в моем объекте? –
хорошо .. есть небольшое обходное решение, которое уменьшит усилия для вас, по крайней мере, в некоторой степени. Предполагая, что ваши свойства объекта не являются динамическими .. создайте объект с помощью ручного набора для всех свойств .. и любой вызов вызова setter общая функция, которая отправляет событие для любого свойства, которое было изменено .. вот как слушатели смены свойств работают в flex. (если они не ошибаются, они выполняют настройку во время компиляции), поэтому даже если объект привязан к полям на экране, вы не Не нужно беспокоиться об изменениях. – Kamal