Смотри. Код, который находится "выше", задает значение путем установки свойства:
RibbonImage {
targetDigit: timeString.charAt(5)
}
Он ничего не знает (и не должен знать) про предыдущее значение. Значит, запоминаться предыдущее значение targetDigit должно в самом типе (в нашем случае в RibbonImage).
Отследить изменение свойства targetDigit мы можем с помощью обработчика onTargetDigitChanged(). Но внутри него невозможно сохранить предыдущее значение targetDigit в какое-нибудь еще одно свойство previousDigits. А невозможно потому, что это targetDigit в момент вызова обработчика уже новое. И не из чего получить предыдущее значение, чтобы его запомнить в другом свойстве.