我正在使用打字稿画画布。问题是我在一个类中有两个方法需要访问相同的变量。我尝试将它们声明为
declare var x;
declare var y
export class Foo {
constructor() {}
method1() {
this.x;
}
method2() {
this.x;
}
}
但是它似乎无法正常工作。我在这里想念什么?
答案很简单,对于普通变量似乎很好。由于我正在使用画布。我有类似的东西
export class Foo {
private x: number = 10;
private y: number = 20;
constructor(canvas: HTMLCanvasElement) {
this.canvas = < HTMLCanvasElement > canvas;
this.ctx = < CanvasRenderingContext2D > canvas.getContext('2d');
}
method1() {
let width = this.canvas.width;
}
method2() {
let width = this.canvas.width;
}
}
我如何一次声明它们并在两种方法中使用它。先感谢您。
答案 0 :(得分:1)
x
和y
可以访问声明的变量,而无需this.
但是,如果希望变量在类中定义并在类中定义,则应将变量创建为类字段:
export class Foo {
private x: number;
private y: number;
constructor() {}
public method1() {
this.x;
}
public method2() {
this.x;
}
}
答案 1 :(得分:1)
您是在类外部声明变量,而不是将其定义为类属性
export class Foo {
private x;
private y;
constructor() {}
method1() {
this.x;
}
method2() {
this.x;
}
}