Вы поместили след в установщик, чтобы убедиться, что он не вызывается?
Является ли periodChangeAmount
Bindable
свойством чтения-записи? В этом случае flex внутренне вызывает метод получения, чтобы убедиться, что устанавливаемое значение не является существующим значением. Если текущее значение свойства (возвращаемое получателем) совпадает со значением, которое должно быть установлено, установщик не вызывается.
private var privateVar:Boolean = false;
[Bindable]
public function set readWriteProp(value:Boolean):void
{
trace("set called with " + value + " current is " + privateVar);
privateVar = value;
}
public function get readWriteProp():Boolean
{
trace("get called : " + privateVar);
return privateVar;
}
//...
a.readWriteProp = true;
a.readWriteProp = true;
Отслеживаемый вывод:
Вызов: ложь
набор, вызванный с истинным током, является ложным
получить вызов: правда
Обратите внимание, что метод получения вызывался дважды, но метод вызывался только один раз. Во втором назначении, поскольку текущее значение и значение, которое должно быть установлено, одинаковы (true), установщик не вызывается.
Я считаю, что команда разработчиков Flex сделала это таким образом, чтобы избежать избыточности в связывании.