首页 > 解决方案 > 如何从 Angular 7 中的服务访问组件

问题描述

我在 Angular 7 应用程序中使用 PrimeNG 库,我很好奇他们是如何实现一个功能的。我将尝试解释它:

它的组件之一是“Toast”,它以弹出样式显示短消息,如下所示:

在此处输入图像描述

为了让它工作,你需要p-toast在模板中定义一个组件:

<p-toast></p-toast>

并提供一个全局MessageService来显示消息,使用这个方法:

this.messageService.add({severity:'success', summary:'Service Message', detail:'Via MessageService'});

我的问题是,他们如何从服务中的方法中找到p-toast组件?例如,我在模板中插入了,无论层次结构如何,我都可以使用应用程序的所有组件中的 。注意:我还在文件的部分中声明了,以使服务全局化。addMessageServicep-toastapp-component.htmlmessageService.addMessageServiceprovidersapp.module.ts

我希望这是可以理解的......谢谢!

标签: angularprimengangular-services

解决方案


正如答案所暗示的,每个p-toast组件都有一个全局服务的订阅者MessageService来接收要显示的消息。


推荐阅读