1

私のメインアプリケーションには、結果イベントと、結果XMLListで満たされたがあります。XMLListは、次のような関数の外部で定義されます。

public var testList:XMLList = new XMLList();

しかし、私の結果ハンドラー内では、結果からのデータが入力され、正常に機能します。リストを含む外部コンポーネントMXMLファイルを作成する必要がありますが、そのコンポーネントファイル内からメインアプリケーションからtestListにアクセスできません。

各ファイルに含めxmlns:local="*"ましたが、コンポーネントファイルにも次のインポートがあります。

import mx.collections.XMLListCollection;
import mx.controls.Alert;
import mx.core.Application;
import mx.events.FlexEvent;
import mx.rpc.events.ResultEvent;

何が間違っているのかわかりません。

4

1 に答える 1

2

testListコンポーネントのプロパティとしてを渡す必要があります。

メイン-結果イベントとカスタムコンポーネントからのtestListがあります。testListコンポーネントで定義した次のようなプロパティにを渡しdataます。

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx"
               xmlns:local="*">

    <fx:Script>
        <![CDATA[
            [Bindable]
            public var testList:XMLList = new XMLList();
        ]]>
    </fx:Script>

    <local:CustomComponent data="{testList}" />

</s:Application>

CustomComponent-作成したコンポーネントから、次の例testListのように、プロパティからにアクセスします。data

<?xml version="1.0" encoding="utf-8"?>
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
         xmlns:s="library://ns.adobe.com/flex/spark"
         xmlns:mx="library://ns.adobe.com/flex/mx">

    <fx:Script>
        <![CDATA[
            [Bindable]
            public var data:XMLList;
        ]]>
    </fx:Script>

    <s:List dataProvider="{new XMLListCollection(data)}" />

</s:Group>
于 2012-05-27T20:13:14.290 に答える