【问题标题】:How to execute method of another Component in Angular2?如何在Angular2中执行另一个组件的方法?
【发布时间】:2016-01-19 10:09:38
【问题描述】:

我正在尝试在我的 angular2 应用程序中添加一个预加载器,但我被卡住了,无法在互联网上找到答案。

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

我创建了this plunker,所以你可以看到我的问题。

【问题讨论】:

  • SO 问题应该包含与问题相关的代码的基本部分,因此当链接断开时,问题对于未来的访问者仍然很有价值,因为它经常发生在链接上。
  • 我们想在看问题的时候看到代码。外部链接是不够的。如果您想增加获得好答案的机会,请按照提供的提示进行操作。
  • 好的。我稍后会更新我的问题:)

标签: typescript angular


【解决方案1】:

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

在您的情况下,这还不够,因为您想访问一个组件,上面解释的单例仅适用于服务。

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-10-11
  • 2016-09-11
  • 2019-07-09
  • 1970-01-01
  • 2023-01-12
  • 2017-09-15
  • 1970-01-01
相关资源
最近更新 更多