泛型类型的参数扩展了一个类

时间:2017-07-25 09:40:10

标签: typescript ngrx

有一类Action类。 我需要声明一个函数,使得它接受一个类的参数,该类扩展了Action以及其他参数。例如:

class Abc extends Action {
    payload: any;
}

我的实际功能:

function xyz(action: Abc){
    // ...
}

action: Abc应该是通用的,比如

action: {payload: string} extends Action

场景(可选): 我正在努力解决这个问题,因为ngrx 4从Action中移除了有效负载,但我的旧代码期望它有负载。

1 个答案:

答案 0 :(得分:1)

你几乎是对的。将其更改为此

private xyz = (action: { payload: string } & Action) => {
}

在这里查看Typescript Intersection types