angular - 如何从 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
组件?例如,我在模板中插入了,无论层次结构如何,我都可以使用应用程序的所有组件中的 。注意:我还在文件的部分中声明了,以使服务全局化。add
MessageService
p-toast
app-component.html
messageService.add
MessageService
providers
app.module.ts
我希望这是可以理解的......谢谢!
解决方案
正如答案所暗示的,每个p-toast
组件都有一个全局服务的订阅者MessageService
来接收要显示的消息。
推荐阅读
- javascript - 如何将数据从控制台日志传输到 json 文件?
- flutter - 在 PWA 颤振中创建自定义颜色
- python-3.x - 字典列表上的二进制搜索python
- user-interface - 界面路径。VB.net? 如果条件
- json - 努力将 JSON 导入到 excel 中,其中列包含记录和列表
- r - R软件错误信息的JM(joint model)包
- colors - 当我给它一个恒定值时,为什么 alpha 值会发生变化?
- android - 识别具有相同电子邮件地址的两个用户
- javascript - 云函数无法读取未定义的属性
- django - 在 django 中创建标签并根据它们进行过滤