![](/img/trans.png)
[英]how to insert a property in typescript class which is not defined in the interface
[英]Adding property in the defined interface of the typescript
我有兩個interface
定義如下。
interface TitleFont{
fontFamily:string;
fontStyle:string;
size:string; \\ need only for the title property.
opacity:number;
}
interface ChartFont{
fontFamily:string;
fontStyle:string;
opacity:number;
}
我的類中的兩個屬性是定義的接口類型:
class Chart {
title: TitleFont;
chartTitle: ChartFont;
}
大小是增加了額外的屬性TilteFont
時相比, ChartFont
。 有沒有辦法定義一個接口並將其用於兩個屬性?
提前致謝
這里不是使用繼承和從ChartFont
擴展TitleFont
的解決方案
interface ChartFont{
fontFamily:string;
fontStyle:string;
opacity:number;
}
interface TitleFont extends ChartFont {
size:string; \\ need only for the tilte property.
}
我們仍然有兩個接口,但在很多情況下,我們將能夠使用像這樣的基本接口(ChartFont)
var fontSetting1 : ChartFont = Chart.title
var fontSetting2 : ChartFont = Chart.chartTitle
...
// follows common behaviour for ChartFont interface
...
如果以后需要,我們可以向上轉換:
var titleFontSetting : TitleFont = <TitleFont>fontSetting1;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.