のプロトタイプチェーン上のメタデータを返しません。私は "MyCustom"として親クラスを持っています。反映-メタデータReflect.getMetadata()メソッドは、私が反映-メタデータ0.1.2を使用していたオブジェクト
export class MyCustom {}
私の「ホーム」コンポーネントクラスは、この「MyCustom」クラスを拡張します。
@Component({
selector: 'home',
templateUrl: './app/components/home/home.html',
styleUrls: ['./app/components/home/home.css']
})
export class Home extends MyCustom {
}
私の意図は、次のメソッド呼び出しを使用して "MyCustom"クラスを拡張するすべてのクラスのメタデータを取得することです。
let annotations = Reflect.getMetadata('annotations', MyCustom);
方法Reflect.getMetadataのコメント()と言い、
ターゲット オブジェクトまたはそのプロトタイプチェーンに設けられたメタデータキーのメタデータ値を取得します。
は、しかし、私は何を取得します。以下のように「MyCustom」クラスに@Componentを追加すると、「MyCustom」の注釈である結果が1つ表示されます。
は、なぜ私はサブクラスに注釈を得ていないのですか?どんな助けも高く評価されます。
お返事ありがとうございます。私はこれを使用してこれを稼働させようとしましたが、今まで運がありませんでした。私がしようとしていることの完全な概要を教えてください。私の主なアプリケーションは、最初はサブコンポーネント(基本的にはタブ)を知らない。カスタム注釈を使用してサブコンポーネントに注釈を付けることを試みており、それらを主コンポーネントからスキャンして追加します。 –
注釈をスキャンする方法は、ターゲットオブジェクトを必要とするReflect.getMetadata()でした。だから私は "MyCustom"としてスーパークラスを使用しようとしていて、私のサブコンポーネントでそれを拡張しようとしていたのです。 (その時点で私はReflectを望んでいた。getMetadata( '注釈'、MyCustom);サブクラスのアノテーションも返されます) –