typescript - 如何明确访问类中的私有方法?
问题描述
考虑这个标准的 TypeScript 类和一个私有方法:
class foo {
private doThis() {
///
}
}
在类内部,可以使用以下内容访问私有方法:
this.doThis();
除非它在闭包/事件中,在这种情况下我们缓存类引用:
const classRef: any = this;
$('#foo').on('click', function() {
classRef.doThis();
});
当然,如果您将“this”层数降低并且您需要达到类的顶层,则该方法会失效。
那么,是否有访问类级别私有方法(或类级别变量)的确定方法?
解决方案
在闭包内使用箭头函数:
class foo {
private doThis() {
///
}
otherFunction() {
$('#foo').on('click', () => {
this.doThis();
});
}
}
您的 this 将始终是类参考。
推荐阅读
- javascript - 如何在地图函数中调用api
- python - F字符串自动完成python
- azure-devops - 如何从 Azure DevOps 访问 pagesBatch?
- angularjs - 有什么方法可以减少 AngularJS 包的大小(使用 Webpack)
- android - 未找到改造响应
- javascript - 如何避免呈现复选框编号?
- agda - 立方体agda中具有不同refl组合的立方体
- wpf - WPF 是否有任何方法可以将徽章应用于应用程序图标?
- python - 第一次显示输出后,如何让该程序无限次地再次输入输入?
- rust - 为什么 std::rc::Rc 可以调用自己的值的方法?