调用函数 AS3
call function AS3
public function PubliCTest(_arg_1:MouseEvent):void {
trace("PubliCTestSub" + this.tell.text() + " , " + this.hello.text());
if (((this.istextValid()) && (this.istextsubValid()))){
var url:URLLoader = new URLLoader();
var req:URLRequest = new URLRequest("http://www.nasydbasda.com/tnewabsud.php");
var vars:URLVariables = new URLVariables();
vars.text1 = this.text1.text();
vars.textsub = this.textsub.text();
req.data = vars ;
req.method = URLRequestMethod.POST;
url.load(req);
url.addEventListener(Event.COMPLETE, reqcompleted);
}
this.onSignInSub();
}
这是我的函数,我想从中提取一些功能来使用(另一个class中的另一个函数)。基本上我如何从另一个 class 调用它,同时保留当前 class.
的所有数据(函数)
Class 方法是绑定的,它们会坚持自己的 this 对象,除非你强行给它们传递另一个对象。也就是说,只要你能引用你的这个函数,你就可以在任何地方调用它。
解决方案 1:singleton pattern。假设您 have/need 只有一个 class 的实例使用该方法,您将引用放入 class 静态变量并可以将其称为 YourClass.instance.yourMethod(参数);
方案二:静态引用。基本上是一样的,假设只有一个 class 实例,您可以绕过实例引用并声明一个 public 变量来代替方法引用。您可以将其称为 YourClass.MyMethod();
package
{
public class YourClass
{
static public var MyMethod:Function;
// Class constructor.
public function YourClass()
{
MyMethod = yourMethod;
}
public function yourMethod():void
{
// ... whatever
}
}
}
方案三:传递引用。如果您因为有多个实例而不能使用单例(类似)解决方案,那么,请直接通过您的应用程序体系结构传递方法引用。您可能想阅读有关 dependency injection.
的内容
public function PubliCTest(_arg_1:MouseEvent):void {
trace("PubliCTestSub" + this.tell.text() + " , " + this.hello.text());
if (((this.istextValid()) && (this.istextsubValid()))){
var url:URLLoader = new URLLoader();
var req:URLRequest = new URLRequest("http://www.nasydbasda.com/tnewabsud.php");
var vars:URLVariables = new URLVariables();
vars.text1 = this.text1.text();
vars.textsub = this.textsub.text();
req.data = vars ;
req.method = URLRequestMethod.POST;
url.load(req);
url.addEventListener(Event.COMPLETE, reqcompleted);
}
this.onSignInSub();
}
这是我的函数,我想从中提取一些功能来使用(另一个class中的另一个函数)。基本上我如何从另一个 class 调用它,同时保留当前 class.
的所有数据(函数)Class 方法是绑定的,它们会坚持自己的 this 对象,除非你强行给它们传递另一个对象。也就是说,只要你能引用你的这个函数,你就可以在任何地方调用它。
解决方案 1:singleton pattern。假设您 have/need 只有一个 class 的实例使用该方法,您将引用放入 class 静态变量并可以将其称为 YourClass.instance.yourMethod(参数);
方案二:静态引用。基本上是一样的,假设只有一个 class 实例,您可以绕过实例引用并声明一个 public 变量来代替方法引用。您可以将其称为 YourClass.MyMethod();
package
{
public class YourClass
{
static public var MyMethod:Function;
// Class constructor.
public function YourClass()
{
MyMethod = yourMethod;
}
public function yourMethod():void
{
// ... whatever
}
}
}
方案三:传递引用。如果您因为有多个实例而不能使用单例(类似)解决方案,那么,请直接通过您的应用程序体系结构传递方法引用。您可能想阅读有关 dependency injection.
的内容