CocosCreator中,跨类传递方法

2022-10-18  本文已影响0人  全新的饭

示例

类Test1中,有个myFunc方法。
外部可向他传入一个方法,输入是1个string,输出是1个string.

    public myFunc(callBack:(str:string)=>string): void
    {
        console.info("test1当前时间:" + this.getCurTime());
        const retStr = callBack('测试Test1___');
        console.info(retStr);
    } 

类Test中,通过myFunc方法,调用Test1的myFunc方法。

    private myFunc(): void
    {
        this._test1.myFunc((str:string) => this.myTest(str));
    }

    private myTest(str:string): string
    { 
        console.info(str + 'myTest:' + this._myName);
        return '我是返回值';
    }

注意不能直接写成

 this._test1.myFunc(this.myTest);

因为myTest方法中使用了_myName,它是Test的属性。
使用上述方式时,当调用它时,其this已发生了变化。

上一篇下一篇

猜你喜欢

热点阅读