PrimeNG Message 和 Toast 在组件中有效,但在服务中无效

Wei*_*ies 6 primeng angular

我在使用 PrimeNG 框架的组件中有一个工作消息警报。

@成分

@Component({
    selector: 'app-client',
    templateUrl: './client.component.html',
    styleUrls: ['./client.component.css'],
    providers: [MessageService],
})
Run Code Online (Sandbox Code Playgroud)

构造函数

private msg: MessageService,
Run Code Online (Sandbox Code Playgroud)

成分法

this.msg.add({severity:'success', summary: 'Success Message', detail:'Order submitted'});
Run Code Online (Sandbox Code Playgroud)

但是一旦我转移到服务的方法并将“ClientService”包含在组件中

import { ClientService } from '../../../shared/services/client.service'
Run Code Online (Sandbox Code Playgroud)

在 client.service.ts 中导入消息

import { MessageService } from 'primeng/api';
...

@Injectable({
  providedIn: 'root'
})
Run Code Online (Sandbox Code Playgroud)

ClientService 中的方法

...
this.msg.add({severity:'success', summary:'Success', detail: msg});
...
Run Code Online (Sandbox Code Playgroud)

没有任何错误消息,也没有 toast 提示。我试图理解官方文档 https://www.primefaces.org/primeng/showcase/#/toast

使用 MessageService 显示消息,确保您的组件具有定义为提供者的可注入 MessageService,否则无法使用 Toast。

但我不知道如何“注入”消息服务。

示例项目在这里https://stackblitz.com/edit/d-toast

Rac*_*naa 1

注入只是意味着ClientService你应该有这个:

constructor(private messageService: MessageService) {}
Run Code Online (Sandbox Code Playgroud)

在你的组件中你应该添加ClientServiceproviders数组