次のコードでプロパティ「questions」を公開するコンポーネントがあります。
private var _questions:ArrayCollection;
private var questionsChanged:Boolean;
[Bindable("questionsChanged")]
public function get questions():ArrayCollection {
return _questions;
}
public function set questions(value:ArrayCollection):void {
if (_questions != value) {
_questions = value;
questionsChanged = true;
invalidateProperties();
dispatchEvent(new Event("questionsChanged"));
}
}
このコンポーネントでは、commitProperties()を使用してロジックを実装します。
私はCairngormを使用していますが、「質問」はモデルに含まれているため、データバインディングのソースとして定義されています。
'questions' ArrayCollectionのサイズがアプリケーションの他の場所で変更された場合、データバインディングの宛先であるコンポーネントのsetterメソッドを呼び出していません。
誰かが私にこれが事実である理由を理解するのを手伝ってもらえますか?