【发布时间】:2018-12-16 18:05:12
【问题描述】:
不适用于以下代码:
function deco<T>(){
return function(target, key){
// before
// target[key] = new Decorated<T>();
// edited
Object.defineProperty(target, key, {
get(){
return new Decorated<T>();
}
});
}
}
class Decorated<T> {
set(values: T){
}
}
class MyDecos {
@deco<{a: number}>() a;
@deco<{b: string}>() b;
}
const test = new MyDecos;
test.a.set(); // want to throw error
test.a.set({a: '1'); // want to throw error
test.b.set({b: 1); // want to throw error
泛型有什么问题吗?
助手显示values: any
我想 Test.set 使用来自装饰器的 Generic 的方法
【问题讨论】:
标签: typescript typescript-generics