我需要使用FileReference传递一个字符串,或者在事件触发时将该字符串作为参数提供。为了清楚起见,AS3不允许你传递事件参数让我感到很恼火。
现在,我已经扩展了FileReference类以包含一个额外的变量。我试图让它编译,但它不会编译;我想我不知道如何正确导入这个类。如果你能告诉我如何正确导入这个类,那么我不会在编译时得到Error: Type was not found or was not a compile-time constant
那么好。
这是扩展的FileReference类:
import flash.net.FileReference;
public class SxmFR extends FileReference {
public var housenum:String = "";
public function SxmFR(str:String) {
housenum = str;
super();
}
}
我在.mxml和同一文件夹中的.as中尝试过。两者都不会自动导入。
我还试图扩展Event类,但我无法弄清楚如何进行事件调度,因为我需要响应Event.COMPLETE
事件。如果您可以告诉我如何对此进行调度,它也可能有用。
请帮助我解决这个问题,并感谢所有参与者。 :)
答案 0 :(得分:2)
如果将事件侦听器添加为闭包,则可以访问当前函数中的变量:
function myFunction(): void {
var aParam: String = "This is a parameter";
dispatcher.addEventListener("eventName", function (e: Event): void {
// you can access aParam here
trace(aParam);
});
}
函数内的aParam
将具有与调用addEventListener
时相同的值。