typescript - 如何在 TypeScript 类的另一个方法中调用一个方法
问题描述
感谢所有帮助的人。这个问题让我有点发疯(是的,我已经搜索过了)。我收到“不是函数”错误。
我觉得这应该很容易。我只是试图从另一个方法调用一个方法是一个 ts 类。我正在尝试使用一个箭头函数(未显示),这对我来说有点新,但我什么也做不了。感谢所有帮助。
namespace ScriptDemo
{
export class FunctionExample
{
Counter: number;
CalculateStuff(): void
{
this.Counter++;
this.UpdatePage(this.Counter);
}
UpdatePage(counter: number): void
{
let label: HTMLElement = <HTMLElement>document.getElementById("output-label");
label.innerHTML = counter.toString();
}
}
window.onload = function ()
{
let functionExample = new FunctionExample();
let button: HTMLButtonElement = <HTMLButtonElement>document.getElementById("UpdateCounterButton");
button.addEventListener("click", functionExample.CalculateStuff);
};
}
解决方案
您的问题是:
button.addEventListener("click", functionExample.CalculateStuff);
instance.CalculateStuff
这不是打字稿问题,如果您作为回调传递,在纯 Javascript 中也会发生同样的事情。
这会将函数从类中取出并使用set toCalculateStuff
调用它。要么使用箭头函数来确保正确保存,要么使用.this
undefined
this
bind
推荐阅读
- ruby-on-rails - 带有原始 SQL 的 Rails 范围会引发语法错误
- php - 如何从 laravel 控制器返回带有数组变量的视图
- if-statement - Excel中的嵌套IF AND OR
- java - 扫描仪扫描 = 新的扫描仪(System.in);scan.nextInt(); 不工作...?
- command-line - Windows 命令提示符 - 我在文件夹名称中有一个空格
- java - scala 可以与 JDK 1.10 一起使用吗
- django - 在 Django 查询集中注释非模型属性
- excel - Excel,在averageifs公式中使用数组
- c++ - 静态变量可以被非静态函数访问吗?
- php - 查询 MySQL 数据库时我得到一个空集