我有几个远程对象方法,我想根据上下文以不同的方式响应它们,但我宁愿不设置一堆不同的 RemoteObject 别名。有什么建议吗?一些背景:
假设我有一个以不同方式显示销售统计数据的管理应用程序。远程方法如下所示:
<mx:RemoteObject id="rpt" destination="AMFServer">
<mx:method name="getSalesStats" fault="getSalesStatsFault(event)"
result = "getSalesStatsSuccess(event)" />
</mx:RemoteObject>
getSalesStats 方法将员工 ID 和销售类型作为其参数。你会这样称呼它:
rpt.getSalesStats(120, "peanuts");
public function getSalesStatsSuccess(e:ResultEvent):void {
salesdata:ArrayCollection = e.result.rows as ArrayCollection;
salesGraph.dataProvider = salesdata;
salesGraphPanel.title = "Peanut Sales, 1990";
}
我希望能够在不同的上下文中调用此方法,有时将结果发送到图表,有时发送到数据网格;我希望能够根据用户的需要更改图表的标题和类型。我想要的一些可以通过评估从服务器返回的数据来实现;该对象包含报告名称,因此我可以评估该值。但有些事情需要改变的不仅仅是我从服务器返回的内容。如果这是一个同步调用,那就很容易了;我会做类似的事情:
function buttonOneClick():void {
myData1:ArrayCollection = getSalesStats(120, "peanuts");
myChart.dataProvider = myData1;
}
function buttonTwoClick():void {
myData2:ArrayCollection = getSalesStats(120, "cashews");
myDataGrid.dataProvider = myData2;
}
我想通过远程方法将一些东西传递给响应函数,例如:
rpt.getSalesStats(120, "peanuts", "clicked button one");
但这当然会引发错误,因为服务器不想要最后一个参数。有什么想法吗?我会澄清这是否令人困惑..