вызов функции AS3 - PullRequest
       6

вызов функции AS3

0 голосов
/ 01 февраля 2019
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();
}

Это моя функция, я хочу взять некоторые функциональные возможности для ее использования (другая функция в другом классе).Как мне вызвать это из другого класса, сохранив все данные (функции) из этого текущего класса.

1 Ответ

0 голосов
/ 01 февраля 2019

Методы класса связаны, они будут привязываться к своему этому объекту, если вы не передадите им принудительно другой объект.Это означает, что до тех пор, пока вы можете ссылаться на свою функцию, вы можете вызывать ее откуда угодно.

Решение 1 : шаблон синглтона .Предполагая, что у вас есть / нужен только один экземпляр класса с этим методом, вы помещаете ссылку на статическую переменную класса и можете назвать ее как YourClass.instance.yourMethod (args);

Решение 2 : статическая ссылка.По сути, то же самое, с тем же предположением, что есть только один экземпляр класса, вы можете обойти ссылку на экземпляр и объявить открытую переменную для обращения к ссылке на метод.Вы можете назвать его как YourClass.MyMethod ();

package
{
    public class YourClass
    {
        static public var MyMethod:Function;

        // Class constructor.
        public function YourClass()
        {
            MyMethod = yourMethod;
        }

        public function yourMethod():void
        {
            // ... whatever
        }
    }
}

Решение 3 : передать ссылку.Если вы не можете использовать одноэлементное (-подобное) решение, поскольку у вас есть несколько экземпляров, тогда передайте ссылку на метод непосредственно через архитектуру вашего приложения.Возможно, вы захотите прочитать о внедрении зависимостей .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...