使用Angular2中的默认值传递可选参数

时间:2016-10-20 21:45:06

标签: angular typescript

我有以下构造函数:

const std::shared_ptr<Bar>

有没有办法避免做 constructor(@Optional() private config?: DefaultConfig) { this.config = config || new DefaultConfig(); } ?我想要的是在构造函数的参数中添加默认值?像这样:

this.config = config || new DefaultConfig();

谢谢!

2 个答案:

答案 0 :(得分:2)

所以我不熟悉Angular2,但是在纯TypeScript中,以下是您的意图:

constructor(private config = new DefaultConfig()) {}

也就是说,如果没有传递配置,this.config将成为新的DefaultConfig。它还确保构造函数参数必须是DefaultConfig类型。

答案 1 :(得分:1)

您是否尝试过以下操作?

constructor(@Optional() private config: DefaultConfig=new DefaultConfig()) {
  ..
}

注意: ?之前不再: