【发布时间】:2018-10-06 13:35:27
【问题描述】:
我想将接口作为值传递给配置对象:
export interface RouterConfig {
startEvents?: typeof RouterEvent[];
completeEvents?: typeof RouterEvent[];
}
用法应该是这样的:
private config: RouterConfig = {
startEvents: [NavigationStart],
completeEvents: [NavigationEnd, NavigationCancel, NavigationError]
};
但是它抛出了一个错误:
属性“completeEvents”的类型不兼容。类型 '(typeof NavigationEnd | typeof NavigationCancel | typeof NavigationError)[]' 不可分配给类型 'RouterEvent[]'。键入'typeof NavigationEnd |导航类型取消 | typeof NavigationError' 不可分配给类型 'RouterEvent'。类型“typeof NavigationEnd”不可分配给类型“RouterEvent”。 “typeof NavigationEnd”类型中缺少属性“id”。
我该如何解决?
注意RouterEvent是一个类
【问题讨论】:
-
我没有将问题标记为重复,不用担心。不过,我相信根本原因是相同的 -
typeof子类并不总是与其父类的typeof兼容。
标签: angular typescript