如何在Angular2中执行另一个Component的方法?

时间:2016-01-19 10:09:38

标签: typescript angular

我试图在我的angular2应用程序中添加预加载器,但我已经卡住了,无法在互联网上找到答案。

我将我的预加载器组件添加到主应用程序并创建了一个实例。现在,我尝试通过在主应用程序中注入类并执行show()方法来更改预加载器组件中的属性。但是只要我注入预加载器类,我就可以看到我的预加载器的另一个实例被启动,因此方法的执行不会改变渲染组件的属性。

我创建了this plunker,因此您可以看到我的问题。

1 个答案:

答案 0 :(得分:1)

如果您想要全局服务(单身人士),只需将其添加到bootstrap(AppComponent, [MySingletonService]),但不要将其添加到其他地方,例如@Component({providers: [...]})

在你的情况下,这还不够,因为你想要访问一个组件,如上所述的单例只适用于服务。

您可能希望使用中间服务或事件总线,并使用Angular2 emit event up to the DOM tree中所述的事件进行通信