1

基本上我有2个组件。存储库

  <kendo-datepicker #first [max]="second.value"></kendo-datepicker>
  <kendo-datepicker #second  [min]="first!.value"></kendo-datepicker>

这会在为应用程序提供服务时出现此错误:

src/app/app.component.ts:7:37 中的错误 - 错误 TS2531:对象可能为“空”。

7   <kendo-datepicker #second  [min]="first.value"></kendo-datepicker>

每个都使用另一个。我认为这就是错误出现的原因,因为一个没有定义而另一个是被定义的。但它允许为空。这在 Angular 8 中有效,但转换为 9 后不再适用。

我怎样才能让它忽略这个特殊情况?

  • 我无法更改日期选择器。
  • 更改 tsconfig 'fullTemplateTypeCheck' 也不是一个可行的选择。
  • 更喜欢不会开始使用表单事件的简单解决方案。我确实在常春藤迁移中发现,我可以使用“!” 非空断言运算符,但在这种情况下我无法让它工作
4

1 回答 1

1

我认为它的value意思是可以为空 - 因此这就是正在发生的事情:

您正在尝试在可能不会为常春藤更新的剑道控件上设置输入 null - 检查他们的博客/确保您使用的是他们的“常春藤友好”版本(如果可用)。

1)有一个选项专门禁用此检查@Inputs

strictNullInputTypes

或者

2)尝试!之后[min]="first.value"

于 2020-02-20T22:01:07.030 回答