gpt4 book ai didi

angularjs - 属性 'length' 的类型不兼容。类型 '4' 不可分配给类型 '1'

转载 作者:搜寻专家 更新时间:2023-10-30 20:38:43 25 4
gpt4 key购买 nike

我目前正在学习 typescript /Angular ,无法理解为什么 TSLint 将其作为错误抛出,但是代码本身可以工作并显示在浏览器中。

export class GreetingComponent implements OnInit {

names: [{ name: string }] = [{ name: 'Tom' }, { name: 'Dave' }, { name: 'Katie' }, { name: 'John' }];
constructor() { }

ngOnInit() {
}

特别是行:

 names: [{ name: string }] = [{ name: 'Tom' }, { name: 'Dave' }, { name: 'Katie' }, { name: 'John' }];

完整错误:

[ts]
Type '[{ name: string; }, { name: string; }, { name: string; }, { name: string; }]' is not assignable to type '[{ name: string; }]'.
Types of property 'length' are incompatible.
Type '4' is not assignable to type '1'.
(property) GreetingComponent.names: [{
name: string;
}]

最佳答案

类型:

[{name: string}]

是一个tuple type一个元素。因此该类型只能是其中包含单个项目的数组。如果您希望该类型是填充这些对象的任意长度的数组,它将被写为

{name: string}[]

// Or if you prefer:

Array<{name: string}>

关于angularjs - 属性 'length' 的类型不兼容。类型 '4' 不可分配给类型 '1',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49563568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com