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

svmlkihl  于 2022-11-05  发布在  TypeScript
关注(0)|答案(1)|浏览(121)

我们的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的使用不满意。
我应该怎么做来解决这个问题?我们的代码(目前为止运行良好)是否无效,是否应该修改?如果是,如何修改?

bqujaahr

bqujaahr1#

您不需要将this.format作为默认值的一部分。只需执行以下操作:

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

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

相关问题