Private 属性 无法访问 class in angular 2

Private property can't access in this class in angular 2

代码如下

export class HighlightDirective implements OnInit {
    private _defaultColor: 'green';

    ngOnInit():any {
        console.log(this._defaultColor);
    }
}

我无法访问 _defaultColor 属性

我认为你最好像这样声明你的变量。

private _defaultColor: string = 'green';

您的语法错误导致了此问题。您将 green 指定为变量的类型而不是值。

因此更改为 private _defaultColor: string = 'green'; 将解决该问题。需要指出的另一件事是,使用 AOT 时无法从模板访问 private 变量。因此,如果这是一项要求,您还需要将其更改为 public 或将其删除(因为如果未指定,它默认为 public)。