【问题标题】:Angular 11 error TS7006: Parameter 'xyz' implicitly has an 'any' typeAngular 11 错误 TS7006:参数“xyz”隐式具有“任何”类型
【发布时间】:2020-12-08 17:53:59
【问题描述】:

使用 Angular 11 ,尝试创建模板驱动的表单。 ts文件有以下代码

submit(xyz){
var firstName = form.firstName;
console.log(firstName);

 }

所以我得到了错误

error TS7006: Parameter 'form' implicitly has an 'any' 
type.

  submit(xyz){

【问题讨论】:

  • 您很可能激活了严格检查(这是一件好事)。你没有做的是提供 xyz 的类型。它应该类似于submit(xyz: MyType)。或者更具体地说:您定义的每个变量都应该有一个类型。错误说表单没有定义,我想它是一个类级别的字段。
  • @MarkusDresch 我已将类型编辑为“任何”,现在显示 TS2531:对象可能为“空”。
  • 请分享组件的所有相关代码。你如何初始化form-object? xyz 是什么类型? form是什么类型的?
  • 一个可能为空的对象必须在严格模式下进行空检查。

标签: angular typescript angular-forms


【解决方案1】:

只需给函数和参数一个类型:

submit(xyz: object): void {
...

这只是打字稿对你的类型非常小心。这不是错误。只是一个警告。

【讨论】:

  • 它无法编译。我在上面添加了它,它给出了 TS2531: Object is possible is 'null'。作为错误
  • 现在尝试添加类型any。它可能会编译。
猜你喜欢
  • 2020-02-02
  • 2020-01-06
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
  • 2021-11-17
  • 2017-08-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多