首页 > 解决方案 > TS2322:类型“数字”不可分配给类型“字符串”

问题描述

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

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

routerLink 参考使用的链接,如下所示:[routerLink]="link"

如果我更改链接!:数字,然后我收到此错误:TS2322:类型'数字'不可分配给类型'字符串| 任何[] | 空 | 不明确的'。对于这部分代码:<a [routerLink]="link">

在我看来 routerLink 需要字符串?!?!但是,当我将链接用作字符串时,为什么会触发它?任何想法?

标签: angulartypescriptangular-routerlink

解决方案


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


推荐阅读