相关疑难解决方法(0)

EventEmitter的正确用法是什么?

我已经在CustomHttp 中读取了Access EventEmitter Service等问题,其中用户在其服务中使用了EventEmitter,但是他在本评论中建议他 不要使用它,而是直接在他的服务中使用Observables.

我还阅读了这个 问题 ,解决方案建议将EventEmitter传递给子节点并订阅它.

我的问题是:我应该,还是不应该手动订阅EventEmitter?我该怎么用?

angular2-services angular

199
推荐指数
3
解决办法
19万
查看次数

即时添加/删除组件

我需要能够动态添加和删除角度2组件.为此,我正在使用loadIntoLocation和dispose方法,如下所示:

添加组件(来自布局管理器):

this.m_loader.loadIntoLocation(MyComponent, this.m_element, 'content').then(_componentRef => {

    // Create the window and set its title:
    var component: MyComponent = (_componentRef.instance);
    component.ref = _componentRef;

    // init the component content
});
Run Code Online (Sandbox Code Playgroud)

删除组件(从组件中):

this.ref.dispose();
Run Code Online (Sandbox Code Playgroud)

它几乎正常工作: - 如果我添加一个组件,并关闭它,它可以工作 - 如果我添加几个组件,它们工作 - 但如果我添加组件A,然后删除它,然后添加组件B,似乎Angular给了我对A的引用,并保留一些旧的值(我的组件是可拖动的,在这种情况下,B将被创建A,当我销毁它时)

有没有办法让Angular摧毁组件,或者至少强制它创建新组件?

components dispose dynamic angular

11
推荐指数
1
解决办法
9889
查看次数