gpt4 book ai didi

Angular 12 - 不可分配给类型 '[number, number]

转载 作者:行者123 更新时间:2023-12-05 02:41:05 31 4
gpt4 key购买 nike

我正在 Angular 12 中试用 ngx-charts 库,但我一直遇到这个问题:

Type 'any[]' is not assignable to type '[number, number]'.

Target requires 2 element(s) but source may have fewer.

我不知道这个错误是什么意思。

代码如下:

HTML:

<ngx-charts-linear-gauge 
[view]="view"
[scheme]="colorScheme"
[value]="value"
[previousValue]="previousValue"
(select)="onSelect($event)"
[units]="units"
>
</ngx-charts-linear-gauge>

:

import { Component } from '@angular/core';

@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
export class AppComponent {

single: any[];
view: any[] = [400, 400];
colorScheme = {
domain: ['#aae3f5']
};
value: number = 43;
previousValue: number = 70;
units: string = 'counts';

onSelect(event) {
console.log(event);
}

}

关于错误的含义,如何解决这个问题有什么想法吗?

ts 配置代码为:

{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"forceConsistentCasingInFileNames": true,
"strict": false,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"sourceMap": true,
"declaration": false,
"downlevelIteration": true,
"experimentalDecorators": true,
"moduleResolution": "node",
"importHelpers": true,
"target": "es2017",
"module": "es2020",
"lib": [
"es2018",
"dom"
]
},
"angularCompilerOptions": {
"enableI18nLegacyMessageIdFormat": false,
"strictInjectionParameters": true,
"strictInputAccessModifiers": true,
"strictTemplates": true
}
}

最佳答案

我想问题出在您 view 属性的类型上。根据代码,它必须是 number[] 类型:doc-ref
注意:文档中的类型不够准确。 view 未定义为数字数组 (number[]),而是定义为 2 个数字的元组 ([number, number]) - source-code ref

但是你把它定义为any[]
根据您的 typescript 编译器设置,您可能会收到错误或警告。

显式类型为:

view: [number, number] = [400, 400];

在此 Stackblitz example 中查看更多示例和详细信息

关于Angular 12 - 不可分配给类型 '[number, number],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68298395/

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