如何使用ComponentRef从内部销毁我的Component?

时间:2017-08-18 13:25:36

标签: angular

我希望能够从内部销毁我的组件。 (不是来自父母,因为它是在多个领域动态创建的)。

我从angular的api中读到他们有一个ComponentRef对象。我已经尝试将它包含在构造函数中,但它说它需要一个参数,我不确定要传递给它。

链接:https://angular.io/api/core/ComponentRef

如何在我的组件中使用ComponentRef来销毁它?

import { Component, ComponentRef, OnInit } '@angular/core';
export class MyComponent implements OnInit {
    constructor(private ref: ComponentRef) {}

    ngOnInit() {
        this.ref.destroy()
    }
}

1 个答案:

答案 0 :(得分:0)

当您从另一个组件(父组件)实例化组件时,这很有用。

您可以尝试从组件对象 this.ngOnDestroy() 中调用 ngOnDestroy()。

如果您正在使用的 Angular 版本不允许您并且因为您想从同一个组件中销毁它,您需要要求父级使用输出和/或发射器来完成它。