AS3 コードベースを TypeScript に変換すると、次のエラーが発生します。
AS3 コード:
private function loadDataXml(assetsXml : String) : void {
var loader : URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, handleDataLoaded);
loader.load(new URLRequest(assetsXml));
}
private function handleDataLoaded(event : Event) : void {
var xml_data : XML = new XML(event.target.data);
parseData(xml_data);
.........
}
private function parseData(xml_data : XML) : void {
......
}
TypeScript コード
private loadDataXml(assetsXml : string) {
var xmlRequest:XMLHttpRequest = new XMLHttpRequest();
xmlRequest.addEventListener("load",this.handleDataLoaded, false);
xmlRequest.open("GET", assetsXml, false);
xmlRequest.setRequestHeader("Content-Type", "text/xml");
xmlRequest.send(null);
}
private handleDataLoaded(evt:Event) {
var xmlDoc:Document = (<XMLHttpRequest> evt.target).responseXML;
this.parseXMLData(xmlDoc);
......
}
private parseData(xmlDoc:Document):void {
......
}
そして、この行 xmlRequest.addEventListener..... が原因で、「Uncaught TypeError: Object # has no method 'parseData'」というエラーが発生します。
アロー関数を使用してみましたが、まだ修正できませんでした (正しく使用しているとは思いません)。