小编Ben*_*ous的帖子

canDeactivate问题:“类型'CanDeactivate'不是通用的”

我正在尝试在Angular 7中建立一个简单的canDeactivate保护,并且我尝试了许多在线教程中的代码,但是它们都产生相同的错误:

“类型'CanDeactivate'不是通用的。”

我究竟做错了什么?除了出现相同问题的另一个2年未解答的问题,我什至在任何Google匹配中都找不到此错误。

在这里查看代码:

import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { Observable } from 'rxjs';
import { CanDeactivate } from '@angular/router/src/utils/preactivation';

export interface CanDeactivateComponent {
    canDeactivate: () => Observable<boolean> | boolean;
}

@Injectable()
export class CanDeactivateGuard implements CanDeactivate<CanDeactivateComponent> {
    canDeactivate(component) {
        return component.canDeactivate ? component.canDeactivate() : true;
    }
}
Run Code Online (Sandbox Code Playgroud)

angular-routing angular angular-router-guards

6
推荐指数
1
解决办法
757
查看次数