大佬教程收集整理的这篇文章主要介绍了Angular 12 - 不可分配给类型 '[number, number],大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在 Angular 12 中试用 ngx-charts 库,但我一直遇到这个问题:
类型 'anY[]' 不能分配给类型 '[number,number]'。
目标需要 2 个元素,但源可能更少。
我不知道错误是什么意思。
代码如下:
HTML:
<ngx-charts-linear-gauge
[vIEw]="vIEw"
[scheR_556_11845@e]="colorscheR_556_11845@e"
[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];
colorscheR_556_11845@e = {
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[]
。
根据您的打字稿编译器设置,您可能会收到错误或警告。
当您需要完全正确的类型时,请使用:
// use as const so that typescript will infer the type [number,number] instead of number[]
view = [400,400] as const;
显式类型为:
view: [number,number] = [400,400];
以上是大佬教程为你收集整理的Angular 12 - 不可分配给类型 '[number, number]全部内容,希望文章能够帮你解决Angular 12 - 不可分配给类型 '[number, number]所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。