小编Tah*_*her的帖子

未捕获(承诺中):TypeError:component.canDeactivate 不是函数

当我构建CanDeactivateGuard时出现此错误。

未捕获(承诺中):TypeError:component.canDeactivate 不是函数

我想让我的CanDeactivateGuard可重复使用,所以它应该是通用的。

因此,我构建了一个名为ComponentCanDeactivate的抽象类,然后在TreeCanDeactivateGuard中扩展它。

然后CanDeactivateGuard应该实现CanDeactivate接口。

我的代码:

import { HostListener } from '@angular/core';

export abstract class ComponentCanDeactivate {

  public abstract canDeactivate(): boolean;

  @HostListener('window:beforeunload', ['$event'])
  unloadNotification($event: any) {
    if (!this.canDeactivate()) {
        $event.returnValue = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

}

TreeCanDeactivateGuard :

import { ComponentCanDeactivate } from './canDeactivate/component-can-deactivate';
import { NodeService } from '../tree/node.service';


export abstract class TreeCanDeactivateGuard extends ComponentCanDeactivate {

    constructor(private _nodeService: NodeService) {
    super();
    }

    public canDeactivate(): boolean {
      if …
Run Code Online (Sandbox Code Playgroud)

typescript angular

8
推荐指数
1
解决办法
6512
查看次数

标签 统计

angular ×1

typescript ×1