0

グループで取り組んでいる Flex アプリケーションがあります。これは単純な旅行代理店で、データが URL から取得され、XML オブジェクトに格納されます。

現在、アプリケーションは Web ページに似たレイアウトで構造化されています。メインの外観とレイアウト (ヘッダー コンテナー、ボディ コンテナー、およびフッター コンテナー) を保持するアプリケーション ファイル。

アプリケーションのコンテンツ (ヘッダー コンポーネント クラス、page1 など) を含む他の mxml コンポーネント ファイルがあります。ただし、これらのページでは、取得するデータを操作する必要があります。

基本的な考え方は、ビルド後にアプリケーションにデータをロードし、元の xml リストのコピーをユーザーが現在表示しているページに渡して、ユーザーが Flex XML オブジェクト クラスで検索パラメーターを照会するときにコピーを変更することでした。基本的に、大きなもの (すべての休暇スポット) から始めて、より具体的に (指定されたパラメーターからいくつかを選択) します。

コピーを文字列 (つまり .toXMLString) で渡し、各ページでその変更された XML 文字列を使用して別の XML オブジェクトを作成することを考えていましたが、その文字列オブジェクトを渡す方法がわかりません。

ただし、自分で例を検索すると、イベントの作成、グローバルになるアクションスクリプトファイルの作成、およびアプリケーションにバインド可能なパブリック変数があることを提案する人々に及ぶため、これを行う方法について少し混乱しています。だから少し混乱しています。私は完全な解決策を探しているわけではありません。基本的なもので、よく理解してからこのアプリケーションに実装して試してみることができます。

4

1 に答える 1

0

Reboog711 によって投稿された例は、まさに私が探していたものでした。サンプルを実装して、必要な機能をアプリケーションに組み込むことができました。

編集: 2 日までこれを回答としてマークできません。

編集 #2: メタデータを使用し、パラメーターを取り込んだ各 MXML ファイルのイベントを定義することで解決しました。

コンポーネント MXML でこれらを定義しました。

MXML コンポーネント ファイル:

<fx:Metadata>
    [Event(name="customEvent", type="flash.events.Event")]
</fx:Metadata>

次に、オブジェクトを取り込む var オブジェクトを定義し、その MXML コンポーネントでメソッドを定義します。

public var someObject:Object = new Object();
public function setObject(objectRef:Object):void{
    xmlList = new XML(xmlString);
}

次に、コンポーネントを使用するときに MXML アプリケーション ファイルで、次の操作を実行してイベントを呼び出します。

<[Package]:[Component Name] id="id" includeIn="[State]" passXML="id.someObject(passedObject)"/>
于 2013-05-01T17:27:50.957 に答える