我有一个基于mx:ComboBox的自定义组件。在其中我连接到HTTPService(url作为参数传递)并绑定组合框。要发送到HTTPService的参数将传递给组件。这工作正常。但我想修改它以使其可以与其他HTTP服务URL重用,后者以不同的格式返回XML。
我的挑战是如何在运行时动态地将自定义组件绑定到节点?
组件的MXML代码如下所示:
<mx:ComboBox xmlns:mx="http://www.adobe.com/2006/mxml"
dataProvider="{myData.person}
<mx:HTTPService id="serviceTest"
resultFormat="e4x"
result="myResultHandler(event);"
fault="myFaultHandler(event);" />
</mx:ComboBox>
我可能需要更改
myData.person
为:
myData.region
可以用MXML完成吗?
或者可以在Actionscript中完成吗?是否有类似的东西:
this.dataProvider = myData.[person];
技巧是我不知道要绑定什么,因为每次使用XML时都会有所不同。
这可能吗?或者实现相同目标的任何解决方法?
编辑:它适用于“子”属性。
的dataProvider = “{myData.child(myDataField)}”
但是,如果数据字段进一步嵌套,那么这不起作用。例如。 myData.people.person
如果数据字段嵌套在另一个节点下,有没有办法让它工作?可以使用XPATH表达式或其他方法完成吗?
答案 0 :(得分:1)
使用“child”属性。
答案 1 :(得分:0)
不可能。 'Bind'是(Flex)框架能力 - 不是标准(AS)语言结构。 您必须自己管理所有事件。