2016-07-11 22 views

答えて

4

あなたはできるはずですが、reflect-metadataを使用する必要があります。 Decorators & metadata reflection in TypeScript: From Novice to Expert後に正確にあなたがしているもののようだ:

function logType(target : any, key : string) { 
    var t = Reflect.getMetadata("design:type", target, key); 
    console.log(`${key} type: ${t.name}`); 
} 

class Demo{ 
    @logType 
    public attr1: string; 
} 

を印刷する必要があります:ここに例があります

ATTR1タイプ:文字列私は

+0

' import 'reflect-metadata';および 'import 'zone.js/dist/zone''を実行すると、' 'App'(?、?、?)のすべてのパラメータを解決できませんというメッセージが表示されます。すべてのパラメータがInjectで装飾されているか、有効なタイプの注釈を持っていて、 'App'がInjectableで装飾されていることを確認してください。何か案は?私はRC1にいる。 –

+0

コンパイルエラーまたはランタイムですか?上記の例を問題なくコンパイルすることができるので、この 'zone.js'と何か関係がなければなりません。私は 'import" zone.js/dist/zone "を追加し、問題なしで再コンパイルしました。 –

+0

便利なリンクを提供してくれてありがとうNitzan。私は一日中さまよっていた –

関連する問題

 関連する問題