将数组集合从flex传递到javascript函数

时间:2011-07-22 03:41:06

标签: javascript flash flex flex3

是否可以将flex ExternalInterface.call()中的ArrayCollection对象作为参数传递给javascript函数?

Flex示例代码:

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

JavaScript代码:

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

我能够在js中获取id和name值,因为它们是String对象。

我的问题是:我能以类似的方式从Flex到JS获取arrayCollection对象吗?

obj.list = arrayCollectionObj;

如果我这样做,我会在JavaScript中获得null。怎么做到这一点?

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:3)

你不能,ListCollections实际上是相当复杂的数据结构,它们需要转换为更简单的东西才能传递给JavaScript。当然,如果你知道所有内容都很简单,你可以简单地打电话:

obj.list = arrayCollectionObj.toArray();