我有一個基於mx:ComboBox的自定義組件。在它內部我連接到HTTPService(URL作爲參數傳遞)並綁定組合框。要發送到HTTPService的參數傳遞給組件。這工作正常。但我想對其進行修改以使其可與其他HTTP服務URL重複使用,這些URL會以不同的格式返回XML。如何在運行時動態地將組件綁定到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表達式或其他方法完成嗎?
要麼我不理解你,要麼你不理解我。我正在處理HTTPservice的結果和錯誤事件。我能夠讓組件工作 - 我只是不能使它成爲通用組件。你在說什麼事件?你能解釋一下嗎? – Zesty 2010-09-13 11:06:40