来自C#,我发现以下语法很奇怪。首先。然后,我非常喜欢它,因为它非常紧凑。无需声明后场或在构造函数中分配值。实际上,Angular的构造函数非常轻巧,几乎是厌食的。
constructor(private hazaa: number) { }
someMethod() { console.log(this.hazaa); }
我想知道是否可以使用相同的语法,但可以声明可公开访问的属性。今天,我在DTO中使用以下方法。
export class BigInfoChunk{
constructor(someValue: number, anotherValue: number, ...){
this.infoA = someValue;
this.InfoB = anotherValue;
...
}
infoA = 0;
infoB = 1;
...
}
像这样走很方便。
export class BigInfoChunk{
constructor(public infoA: number, public infoB: number, ...){ }
}
我已经尝试过了,但是很遗憾,它不起作用。什么是实现自动配置的正确语法,但又具有使其可以公开访问的附加功能?
是还是根本不可能?在这种情况下,我很想了解其背后的原因或理由。
答案 0 :(得分:2)
您的方法是绝对正确的。可能您的测试是错误的吗?
您还可以像这样设置默认(和只读)值:
export class BigInfoChunk{
constructor(
public infoA: number = 0,
public readonly infoB: number = 1,
/*...*/
){ }
}