是否可以将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
。怎么做到这一点?
任何帮助将不胜感激。
答案 0 :(得分:3)
你不能,ListCollections实际上是相当复杂的数据结构,它们需要转换为更简单的东西才能传递给JavaScript。当然,如果你知道所有内容都很简单,你可以简单地打电话:
obj.list = arrayCollectionObj.toArray();