一個初始化這是我在冠軍班給我的A型文字屬性不能有打字稿
錯誤「A型文字屬性不能有初始值設定」
如果我刪除title
它的做工精細,我使用Angular 4.3.1
export class MyClass{
data:[
{
blood:string;
title:string = 'Blood Pressure - Systolic (mm/Hg)';
}
]
}
非常感謝。
一個初始化這是我在冠軍班給我的A型文字屬性不能有打字稿
錯誤「A型文字屬性不能有初始值設定」
如果我刪除title
它的做工精細,我使用Angular 4.3.1
export class MyClass{
data:[
{
blood:string;
title:string = 'Blood Pressure - Systolic (mm/Hg)';
}
]
}
非常感謝。
在你的對象中,當你對它們也有價值時,你不能指定屬性的類型。
在這種情況下,您尚未指定對象,但它是類型。我想你可以創建一個接口(shape)
您陣列的項目和使用強類型。
interface Item {
blood: string,
title: string
}
export class MyClass{
data: Item[] = [];
}
這裏您數組保存與shape
Item
項目。而且,您可以將數據推送到其對應的形狀該項目。
data.push({
blood: 'B (III) Rh (+)',
title: 'Blood Pressure - Systolic (mm/Hg)'
});
創建您要創建的對象的類。
export class MyData {
blood: string;
title: string;
}
喲你其他班級,你現在可以使用它。
export class MyClass{
data: MyData[] = [];
data.push({
blood: 'foo',
title: 'Blood Pressure - Systolic (mm/Hg)'
});
}
好像你正在嘗試直接製作對象而不是類。或者你正在嘗試創建一個類,其中一些變量具有默認值。對於相同的更好的方法是這樣的:
export class SomeClass {
param1: string[];
param2: string;
constructor(param1?: string[],
param2?: string) {
this.param1 = param1 || [];
this.param2 = param2 || '';
}
}
使用一個接口來定義數據類型:
interface IInterface {
blood: string,
title: string
}
export class MyClass {
data: IInterface[] = [];
}
或者你改變你做它的方式:
export class MyClass {
data:[
{
blood: string;
title: string;
}
];
}