有没有办法避免总是必须附加“this”来引用私有(private)组件变量或函数?
例如,以下内容将导致“foo”出现“找不到名称”错误
export class SomeComponent {
private foo = 5;
someMethod(){
console.log(foo);
}
}
要修复此问题,我需要将“this”附加到 foo 变量,如下所示:
console.log(this.foo);
我完全支持变量的强识别,但考虑到大多数 Angular 组件的尺寸较小,这似乎过于严格。
最佳答案
在 JavaScript
和 TypeScript
中,您需要使用 this
关键字引用该类中的类的字段和函数
来自 Documentation of TypeScript
让我们看一个简单的基于类的示例:
class Greeter {
greeting: string;
constructor(message: string) {
this.greeting = message;
}
greet() {
return "Hello, " + this.greeting;
}
}
let greeter = new Greeter("world");
如果您以前使用过 C# 或 Java,那么语法应该看起来很熟悉。我们声明一个新类 Greeter。该类具有三个成员:一个名为greeting 的属性、一个构造函数和一个greet 方法。
您会注意到,在类中,当我们引用类中的一名成员时,我们会在前面加上此..这表示它是成员访问权限。
关于javascript - Angular 2 组件变量范围和引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40304424/