Angular 2的组件变量作用域和引用

Angular 2 component variable scope and references

本文关键字:作用域 引用 变量 组件 Angular      更新时间:2023-09-26

是否有一种方法可以避免总是必须附加一个"this"来引用私有组件变量或函数?

例如,下面将在<foo">

上导致"Cannot find name"错误
export class SomeComponent {
    private foo = 5;
    someMethod(){
        console.log(foo);
    }
}
为了解决这个问题,我需要在foo变量上附加一个"this",如:
console.log(this.foo);

我完全支持变量的强识别,但考虑到大多数Angular组件的较小尺寸,这似乎过于严格了。

JavaScriptTypeScript中,您需要使用this关键字

引用该类中的类的字段和函数。

选自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。

你会注意到,在类中,当我们引用类的一个成员时,我们将this..