モデルを表すバインド可能な変数を使用し、それをいくつかのネストされたコンポーネントに渡します。
トップレベルのコンポーネントは私の変数です:
[Bindable]
private var meetingInfo:MeetingInfoModel;
「preinitialize」イベントのハンドラーで初期化します。
meetingInfo = MeetingInfoModel.getInstance();
次に、それを 1 つのコンポーネントに渡します。
<meetingViewStack:MeetingViewStack meetingInfo="{meetingInfo}"/>
そのコンポーネントには、次のものがあります。
private var _meetingInfo:MeetingInfoModel;
public function set meetingInfo( model:MeetingInfoModel ):void{
_meetingInfo = model;}
[Bindable]
public function get meetingInfo():MeetingInfoModel{
return _meetingInfo;
}
次に、その変数を別のネストされたコンポーネントに渡します。
<documentShare:DocumentPanel meetingInfo="{meetingInfo}"/>
同じセッター/ゲッターをセットアップした場所。次に、ネストされた別のコンポーネントに再度渡します。
<documentShare:AttachmentFilesPanel meetingInfo="{meetingInfo}" />
そのコンポーネントには、「meetingInfo」にバインドする DataGroup コンポーネントの ItemRenderer があります。
<s:DataGroup id="attachmentsList"
width="100%"
clipAndEnableScrolling="true"
dataProvider="{meetingInfo.docsAndAttachmentsList}"
itemRenderer="com.fmr.transporter.view.documentShare.DocumentUploadRenderer"
visible="{meetingInfo.docsAndAttachmentsList.length > 0}">`enter code here`
"meetingInfo.docsAndAttachmentsList" ArrayCollection を更新すると、ネストされた各コンポーネントのセッターが正しく呼び出されるまで....
...これは AIR アプリです。
ログアウトして再度ログインします。次に、最後にネストされたコンポーネントのセッター/ゲッターは今回は起動されません。
どうして、どうして、こうなるの?
私は数日間トラブルシューティングを行ってきましたが、一生解決できません。
役立つヒントをありがとう!!