コンポーネント全体で共有できるインスタンスモデルを作成する方法(複数回作成できます)

StackOverflow https://stackoverflow.com/questions/2874429

質問

私は、最終的に別のActionScript/Flexアプリケーション内に住むモジュラー構造を作成しようとしています。外部アプリケーションでCairngormを使用しています。内部アプリケーションでこの新しいコンポーネントの複数のインスタンスを作成したいと思います。 Cairngormは、モデルのシングルトンの性質のため、複数の重複コンポーネントを作成するためには機能しません。

私が作成しているコンポーネントは、擬似ビデオビューアです。このコンポーネントインスタンス内に共有モデルを持ちたいと思います。コンポーネント内で単一のモデルを共有する方法に苦労しています。 Singletonパターンを使用すると、このコンポーネントの複数のインスタンスを作成することはできません。インスタンスを作成してコンポーネントに1つしかないことを確認すると、モデルを必要なすべてのコンポーネントに簡単に渡すのに苦労します。 .mxmlコンポーネントには、モデルに合格するコンストラクターがないため、これは特に難しいです。

コンポーネントがそれを持つまで、各コンポーネントに親にモジュールを尋ねることを考えていました。これには、各コンポーネントにそのインターフェイスが実装されており、私には少し気まぐれであると感じる必要があります。

複数のコンポーネントを作成できるように、コンポーネント内でインスタンス変数を作成する方法を知っている人はいますか?

役に立ちましたか?

解決

最新のSWIZリリース(1.0.0)この質問に対する答えがあります。これで、プロジェクトでSWIZの複数のインスタンスを作成し、親子関係を設定できます。モジュールサポートページは、彼らがそれを最も説明する場所です(http://swizframework.jira.com/wiki/display/swiz/module+support)しかし、実際にモジュールを使用する必要はなく、親子関係は機能します。

すべてのイベントハンドラーが子ビューからイベントに応答しないようにするには、イベントハンドラースコープをローカルに設定する必要があることを忘れないでください。

[EventHandler( event="TestEvent.SAVE_USER_REQUESTED", scope="local")]
public function handleEvent(event:Event):void {
    //do stuff
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top