次のサンプルコードを使用する場合代わり日のオブジェクトが期待どおりに動作し、プリントアウトされた「は、[機能:日付」活字体Reflect.getMetadata(「デザイン:タイプ」..)戻り角度2スタックは
import 'reflect-metadata'
function logType(target : any, key : string) {
var t = Reflect.getMetadata("design:type", target, key);
console.log(`${key} type: ${t.name}`);
}
export class Demo {
@logType // apply property decorator
test: Date;
}
let demo = new Demo();
console.log(Reflect.getMetadata('design:type', demo, "test"));
Angular 2 Projectで同じコードを配置すると、 "function Object(){[native code]}"が返されます。 https://plnkr.co/edit/DhXT89U0q5fCOWlCrx6w?p=preview
Reflect.getMetadata:
私はこのためにPlunkerを用意し( 'デザイン:タイプ' を...)まだカスタムクラスとその他の組み込みのクラスのために働いています。私はこの問題をDateでしか生成できませんでした。私は間違っていますか?
をプリントアウトします私は、しかし、角度を使用していない同じ問題を抱えていました。私の場合は、TypeScriptローダー(ts-loader)のtranspileOnly設定が出力に影響していました。この設定を有効にすると、戻り値の型はDateではなくObjectになります。 – rgarcia