我对以下使用的打字稿数组有疑问。这一切都很好但是当我通过linter运行时我得到以下错误,我的任务显然是错误的。
阵列类型使用'数组'禁止使用简单类型。使用' T []' 代替。
export let data = [
{
"property": "value"
}
];
export interface myInterface {
property: string;
};
protected _collection: Array<myInterface>;
感谢任何帮助。
答案 0 :(得分:8)
linter可能只是希望你这样做:
protected _collection: myInterface[];
类型myInterface[]
和Array<myInterface>
是等价的,但是linter似乎更喜欢第一种。
答案 1 :(得分:2)
似乎错误堆栈跟踪未完成。完整的句子是
Array type using 'Array<T>' is forbidden. Use 'T[]' instead.
你必须在SO上编码格式。而linter的原因在于palantir的源代码
https://github.com/palantir/tslint/blob/master/src/rules/arrayTypeRule.ts#L81-L82
他们希望您一般不要使用Array<T>
。相反,你必须像这样使用它
protected _collection: myInterface[];
这更像是他们的偏好。
答案 2 :(得分:1)
使用[]代替数组类型。
protected _collection: myInterface[];
如果要使用Array类型,则应该禁用tslint规则。