升级到ember-typescript 3抱怨默认参数

问题描述 投票:0回答:1

我们的Ember组件通常使用以下模式,该模式可以在ember-typescript 2上正常工作:

export default class DatePicker extends Component {
  format: string = this.format || 'dd/LL/yyyy';
}

如果格式未通过模板传递,则使用'dd / LL / yyyy'进行初始化。

使用ember-typescript 3和更新的TS版本,编译器不再高兴了。它抱怨

error TS2729: Property 'format' is used before its initialization.

因为对this.format的使用不满意。

我该怎么做才能解决这个问题?我们的代码(到目前为止可以正常工作)是否无效并且应该更改?如果是,如何?

typescript ember.js
1个回答
0
投票

您不需要将this.format作为默认值的一部分。只要做:

export default class DatePicker extends Component {
  format: string = 'dd/LL/yyyy';
}

如果模板传入@format,它将覆盖组件TS文件中的默认值。

© www.soinside.com 2019 - 2024. All rights reserved.