1

を使ってプログラムを書いていTypeScriptます。HTMLElement問題は、インターフェイスを実装したことです。

export class IEElement implements HTMLElement {
   // something here
}

コンパイラは、いくつかのプロパティが欠落しているという多くのエラーを表示します (IEElementインターフェイスを宣言しますが、実装しません)。必要な約 5 つのプロパティを実装しました。残りは冗長です。エラーを回避するには?すべてのインターフェイス メンバーを実装する必要がありますか?

4

1 に答える 1

2

はい、オプションではないすべてのインターフェイス メンバーを実装する必要があります。

インターフェイスはコントラクトです。そのコントラクトを実装するクラスがある場合、そのコントラクトのすべてを実装することを約束しています。

HTMLElement インターフェースには実装することがたくさんありますが、少しだけ動作を追加したい場合は、おそらく既存の実装から始めることができます...

interface SpecialElement extends HTMLElement {
    myCustomFunction: () => void;
}

var element = <SpecialElement>document.getElementById('example');

element.myCustomFunction = function () { };
于 2013-01-08T11:48:14.873 に答える