angular - TS2322:类型“数字”不可分配给类型“字符串”
问题描述
当我尝试构建我的角度应用程序时,我收到了这个 TS2322 错误。
我有一个 [link]="i" 其中 i eq 索引号。当我声明它时,我使用这个:@Input() 链接!:字符串;
routerLink 参考使用的链接,如下所示:[routerLink]="link"
如果我更改链接!:数字,然后我收到此错误:TS2322:类型'数字'不可分配给类型'字符串| 任何[] | 空 | 不明确的'。对于这部分代码:<a [routerLink]="link">
在我看来 routerLink 需要字符串?!?!但是,当我将链接用作字符串时,为什么会触发它?任何想法?
解决方案
当您将其声明为字符串时,该值应仅为字符串。在您的情况下,您可以尝试将 i 值作为字符串 [link]="'i'" 传递,或者您可以制作 @Input() link: any; 传递任何类型的值
推荐阅读
- swift - 单元测试 Quick and Numble - 未在覆盖范围内显示
- cordova - 关闭应用程序时收听事件 - Cordova/Phonegap
- c# - c#如何模拟鼠标输入?
- javascript - 如何在 cytoscape.js 中使用 cdn 添加扩展
- jquery - 如何从 JSON 数组中删除 JSON 对象?
- arrays - 如何使用 entity_load 根据 uid 对 desc 用户名进行排序?
- sql - 使用 SQL 比较两个计数结果
- java - 随着时间的推移概率地选择一组项目
- angular - 获取 SCRIPT5022:zone.js 中的 SecurityError (192,25)
- git - 如何从 Jenkins 声明性管道脚本中访问 git 标签名称并在将新标签推送到 git 时构建