Angular 2组件变量范围和引用

时间:2016-10-28 11:47:41

标签: javascript angular typescript

有没有办法避免总是必须附加“this”来引用私有Component变量或函数?

例如,以下内容将导致“foo”

上出现“无法找到名称”错误
export class SomeComponent {
    private foo = 5;

    someMethod(){
        console.log(foo);
    }
}

要修复,我需要将“this”附加到foo变量,如:

console.log(this.foo);

我完全可以识别变量,但鉴于大多数Angular组件的尺寸较小,这似乎过于严格。

2 个答案:

答案 0 :(得分:2)

JavaScriptTypeScript中,您需要使用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。

你会注意到,在我们引用课程的其中一个成员时,我们会在课程中添加这个..这表示它是成员访问。

答案 1 :(得分:0)

这不是标准的OO编程,我不知道你不使用这个引用类成员变量的语言