![](/img/trans.png)
[英]Object literal may only specify known properties, and 'select' does not exist in type 'Settings'
[英]error TS2322: Object literal may only specify known properties, and 'labels' does not exist in type
我有一個我無法解釋的問題。
我使用接口實現創建了一個角度服務,但它告訴我我無法解釋一個錯誤。
error TS2322: Type '{ labels: string[]; datasets: { data: number[]; backgroundColor: string[]; hoverBackgroundColor: string[]; }[]; }' is not assignable to type 'DataBase[]'.
對象文字只能指定已知的屬性,而'label'在'DataBase []'類型中不存在。
這是我的代碼:
接口
export interface Dashboardtwidget {
title: string;
widgetType: string;
datatype: DataBase[];
}
export interface DataBase {
labels: string[];
datasets: {
data: number[];
backgroundColor: string[];
hoverBackgroundColor: string[]
};
}
服務
import {Injectable} from '@angular/core';
import {Dashboardtwidget} from '../models/dashboard';
@Injectable()
export class DashboardService {
data: Dashboardtwidget[] = [
{
title: 'Widget 1',
widgetType: 'cardStyle1',
datatype: {
labels: ['A','B','C'],
datasets: [
{
data: [300, 50, 100],
backgroundColor: [
'#FF6384',
'#36A2EB',
'#FFCE56'
],
hoverBackgroundColor: [
'#FF6384',
'#36A2EB',
'#FFCE56'
]
}]
}
}
}
有沒有人遇到過此問題和此錯誤消息?
因為我看不出問題出在哪里
當您將其聲明為對象類型時, DataBase
datasets
看起來就像一個Array
類型。
將您的DataBase
接口更改為此:
export interface Dashboardtwidget {
title: string;
widgetType: string;
datatype: DataBase[];
}
interface Dataset {
data: number[];
backgroundColor: string[];
hoverBackgroundColor: string[];
}
export interface DataBase {
labels: string[];
datasets: Dataset[];
}
這是供您參考的工作樣本StackBlitz 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.