2011-07-22 21 views
0

javascript関数のパラメータとして、Flex ExternalInterface.call()のArrayCollectionオブジェクトを渡すことはできますか?私は、彼らがStringオブジェクトであるとして、jsの中でidとnameの値を取得することができていますflexからjavascript関数への配列の受け渡し

function jsFunction(flexObj){ 
    alert('Id::'+flexObj.id+'Name::'+flexObj.name); 
} 

のFlexサンプルコード:JavaScriptのコード

var obj:Object = new Object(); 
    obj.id = "Id"; 
    obj.name = "SomeName"; 
ExternalInterface.call("jsFunction",obj); 

私の質問は、FlexからJSへの同様の方法でarrayCollectionオブジェクトを取得できますか?

obj.list = arrayCollectionObj; 

このようにすれば、私はnullをJavaScriptで取得しています。これを達成する方法は?

ご協力いただければ幸いです。

答えて

3

あなたはできませんが、ListCollectionは実際にはかなり複雑なデータ構造であり、より簡単なものに変換してJavaScriptに渡す必要があります。あなたは内容のすべてがシンプルであることを知っている場合はもちろん、あなたは単純に呼び出すことができます。

obj.list = arrayCollectionObj.toArray(); 
+0

を私は変換し、JSへの配列を渡す場合、私はjsファイル内の値を読み取ることができますか? –

+0

[docs](http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html?filter_flash=cs5&filter_flashplayer=10.2&filter_air=2.6#call%28%29)それを配列として読み取ることができます。 – cwallenpoole

関連する問題