【发布时间】:2021-09-18 17:30:22
【问题描述】:
我正在 Angular 12 中试用 ngx-charts 库,但一直遇到这个问题:
类型 'any[]' 不能分配给类型 '[number, number]'。
目标需要 2 个元素,但源可能有更少。
我不知道错误是什么意思。
代码如下:
HTML:
<ngx-charts-linear-gauge
[view]="view"
[scheme]="colorScheme"
[value]="value"
[previousValue]="previousValue"
(select)="onSelect($event)"
[units]="units"
>
</ngx-charts-linear-gauge>
ts:
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[]
标签: angular ngx-charts angular12