HTML……。

<div class="form-group">
                  <button type="submit"

                          value="submit"
                          class="btn btn-secondary btn-float">Upload</button>
                </div>
              </div>


TS档案.........

export class testComponent implements  OnDestroy {

ngOnDestroy() {
    console.log("Fired ngOnDestroy");
  }

onClickSubmit() {

      this.subscription = this.service
        .create(test, url)
        .subscribe(
              res => {

                console.log('HTTP response', res)
              },
              err => {

                console.log("Error", err)
              },
              () => console.log('HTTP request completed.')
        );

  }
  }


我试图在按钮单击后调用服务,但我的ngondestroy()没有触发我一无所知,为什么它不起作用

最佳答案

从DOM中删除组件时,框架会调用ngOnDestroy

您的示例中没有任何内容暗示单击按钮应触发销毁。

如果我具有以下组件,则单击该按钮时将在子组件中调用ngOnDestroy

<child *ngIf="!deleted"></child>
<button (click)="deleted = true">Trigger destroy in child</button>


演示:https://stackblitz.com/edit/angular-fxvj1n

07-27 22:57