TS2322:类型 'number' 不可分配给类型 'string'

TS2322: Type 'number' is not assignable to type 'string'

当我尝试构建我的 angular 应用程序时,我遇到了这个 TS2322 错误。

我有一个 [link]="i" ,其中 i eq 索引号。 当我声明它时,我使用它:@Input() link!: string;

Link 供路由器参考使用Link 像这样:[路由器Link]="link"

如果我更改 link!: 数字,则会出现此错误: TS2322:类型 'number' 不可分配给类型 'string | any[] | null | undefined'。 对于这部分代码:

我认为路由器Link 需要字符串?!?!但是当我使用 link 作为字符串时,为什么会触发它? 有什么想法吗?

当您将其声明为字符串时,该值应该仅为字符串。 在您的情况下,您可以尝试将 i 值作为字符串 [link]="'i'" 要么 你可以使 @Input() link: any;传递任何类型的值