[akabana-user:243] Re: ViewStackの2ページ目以降でActionが呼び出せない、 同じ子部品を2つ宣言するとエラーが発生する
[E-MAIL ADDRESS DELETED]
[E-MAIL ADDRESS DELETED]
2010年 7月 12日 (月) 16:49:19 JST
こんにちは、フジワラです。
ありかわさん、ご回答ありがとうございました。
色々調べている間に、日にちが過ぎてしまい、応答が遅れました。もうしわけありません。
現象1について
>idは、xxxViewというふうにクラス名をキャメルでidをつけます。
この方法では現象は解決せず、その後調査したところ以下の方法で解決することができました。
View2View、View3Viewは、NavigatorContentをドキュメントルートにしていたのですが、
これが良くありませんでした。
View2View/View3ViewをGroupをドキュメントルートに変更し、
View1Viewのmx:ViewStack内にNavigatorContentを宣言して、NavigatorContent内にView2View/View3Viewを読み込むようにしたところ
期待通りの動作ができるようになりました。
ヘルプにも「NavigatorContent コンテナは、MX ナビゲーターコンテナの外では使用しないでください。」の記載がありました。
ここが読み取れていませんでした。
変更前後のソースを記載すると以下になります。
変更前(動作しない)
*** View1Viewのイメージ ***
<s:Group>
<s:Panel>
<mx:ViewStack id="viewstack1">
<view:View2View id="stack1"/> ←View2ViewのルートはNavigatorContent
<view:View3View id="stack2"/> ←View3ViewのルートはNavigatorContent
</mx:ViewStack>
</s:Panel>
<s:Group>
変更後(動作する)
*** View1Viewのイメージ ***
<s:Group>
<s:Panel>
<mx:ViewStack id="viewstack1">
<s:NavigatorContent>
<view:View2View id="stack1"/> ←View2ViewのルートはGroup
</s:NavigatorContent>
<s:NavigatorContent>
<view:View3View id="stack2"/> ←View3ViewのルートはGroup
</s:NavigatorContent>
</mx:ViewStack>
</s:Panel>
<s:Group>
現象2について
>まだ、同じViewは二回定義できません。
>部品としてViewを使いまわしたり定義することはyuiでは想定していません。
>使いまわすのであれば、コンポーネントですね。
こちらは了解しました。同時に2回定義するケースでは
コンポーネントとして作成する事にします。
以上です。
akabana-user メーリングリストの案内