簡體   English   中英

在打字稿的定義接口中添加屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM