アクションスクリプトのイベントを現在表示されていないビュースタックレイヤーにバインドする問題(nullオブジェクト参照のプロパティまたはメソッドにアクセスできない)が発生しているようです。それらのオブジェクトは、そのレイヤーが初めて表示されるまで作成されませんか?作成ポリシーについて何か覚えていますが、その場合、そのレイヤーが表示される前に、それらの子を作成するように強制できますか?
3 に答える
はい、その通りです。ViewStack の子は、デフォルトで必要な場合にのみ作成されます (「遅延インスタンス化」は、このコンテキストで放り出されるフレーズです)。代わりに、ViewStack コンテナのすべての子を前もって作成するように Flex に指示する場合は、 all に共通のcreationPolicyプロパティを使用することを検討してmx.core.Containers
ください。
ContainerCreationPolicy.ALL の creationPolicy は、ナビゲーター コンテナーが、各子が選択されるまで待機するのではなく、各子のより深い子孫を直ちに作成することを意味します。
<mx:ViewStack id="myStack" creationPolicy="all" />
まだ必要のない子コンポーネントをたくさん作成しているため、起動が少し遅くなりますが、そのトレードオフを念頭に置いている限り、いつか役に立つかもしれません.
ええ、PureMVC構造のアプリケーションで作業しているときに、私自身も同じ問題を抱えていました。ViewStackのサブコンポーネントは、Flexフレームワークによって遅延して構築されたため、メディエーターを作成できませんでした。
これが私が最終的に私の解決策を見つけた場所です:
関連するドキュメントはこちらにあります。それはコンテナのドキュメントに書き留めておくべきことのようです。