我们的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
的使用不满意。
我应该怎么做来解决这个问题?我们的代码(目前为止运行良好)是否无效,是否应该修改?如果是,如何修改?
1条答案
按热度按时间bqujaahr1#
您不需要将
this.format
作为默认值的一部分。只需执行以下操作:如果您的模板传入
@format
,它将覆盖组件TS文件中的默认值。