如何使用ComponentRef <C>类的destroy()方法

文卡特

我试图通过使用ComponentRef类组件作为私有compRef注入到构造函数中来销毁组件

它给出了错误:未捕获(承诺):错误:没有ComponentRef的提供程序!

尝试在组件级别和app.module的providers数组中包括ComponentRef,但是它说ComponentRef类型不能分配给类型“ Providers”。

关于如何实现ComponentRef以便能够使用destroy()方法的任何帮助吗?

谢谢。

马克斯·科雷茨基(Max Koretskyi)

destroy()方法可以在动态创建的组件上调用。这是简单的示例:

export class SampleComponent implements AfterViewInit {
    @ViewChild("vc", {read: ViewContainerRef}) vc: ViewContainerRef;

    constructor(private resolver: ComponentFactoryResolver) {}

    ngAfterViewInit() {
        const componentFactory = this.resolver.resolveComponentFactory(BComponent)
        const componentRef = this.vc.createComponent(componentFactory);
        componentRef.destroy(); <-------------------
    }
}

不能访问componentRef,如果它不是动态创建的组件。

我将需要清除与该组件相关的所有属性和对象。

destroy方法实际上不会清除组件实例上的任何属性。它只是从视图容器中分离视图,或applicationRef,从投影视图中分离并更新视图组件的状态。它还触发destroy执行相同操作集的子组件和嵌入式视图。

阅读这些文章以获取更多信息:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用类方法的C ++ ISR?

如何使用C#ScriptEngine在类中执行方法

如何在C#中使用Ajax调用类方法

如何在Objective C中的类方法上使用self

如果未在类C ++中定义方法,如何在类对象上使用方法

C ++如何使函数指针指向类方法

C#使用其他类方法

C ++如何从多个派生类调用基类方法?

如何从类方法对 C++ 中的类进行操作?

C++) 如何从一个类中使用其他类的方法?

如何应用pagemod destroy()方法?

ComponentRef.destroy() 方法是否也取消订阅组件事件发射器?

在C#中的基类中使用泛型:如何确保基类中的方法返回派生类的类型?

如何使用 C++ 静态类方法创建 C 风格的回调

在 C# 类的实例方法中使用 GetValue 方法

如何从单个类内部的静态方法运行非静态方法并使用依赖注入C#

如何在Swift类中重写Objective-C类的抽象类级别方法?

如何在 C++ 中调用类 A 的方法 1 来调用类 B 的方法 2?

如何测试使用类方法的类方法

如何通过使用C ++中的构造函数获取父类的变量来在子类中实现Abstarct类的方法

如何在C#中使用子类的实例访问父类的方法

如何使用C#实现线程安全类队列的push和pop方法

如何从使用 Swig 绑定 C++ 的类方法初始化变量

如何正确使用C#中相关但不同的类上的调用方法

如何在C#中的Expression类中使用Contains方法?

如何在C#中使用NEST客户端的ElasticClient类中的Serialize方法?

如何使用提取运算符从C ++中的类方法获取多个值?

如何在类构造函数中使用方法数据 c# xamarin

如何在 c# 中使用方法(如果可能)实例化一个类?