如何明确访问类中的私有方法?

愤怒的黑客

考虑这个标准的 TypeScript 类和一个私有方法:

class foo {
    private doThis() {
       ///
    }
}

在类中,可以使用以下方法访问私有方法:

this.doThis();

除非,它在一个闭包/事件中,在这种情况下我们缓存类引用:

const classRef: any = this;
$('#foo').on('click', function() {
    classRef.doThis();   
});

当然,如果你是“这个”的几个层次,并且你需要达到类的顶层,那么这种方法就会失效。

那么,是否有访问类级别私有方法(或类级别变量)的明确方法?

马林戈

在闭包中使用箭头函数:

class foo {
    private doThis() {
       ///
    }

    otherFunction() {
        $('#foo').on('click', () => {
            this.doThis();   
        });
    }
}

你这将永远是班级参考。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章