Angular 将字符串放入主题数组中
我有一个包含邮件主题的邮件服务:Angular 将字符串放入主题数组中,angular,Angular,我有一个包含邮件主题的邮件服务: message = new Subject<string[]>(); addMessage(message:string) { this.message.next(message); } 然后我将在组件中使用消息主题并循环抛出每条消息: constructor(private messageService: MessageService ) { this.messageService.messages.subscribe(h=>
message = new Subject<string[]>();
addMessage(message:string) {
this.message.next(message);
}
然后我将在组件中使用消息主题并循环抛出每条消息:
constructor(private messageService: MessageService ) {
this.messageService.messages.subscribe(h=>this.messages = h );
}
但是上面在消息服务的addMessage函数中出现错误(意味着我不能将字符串类型添加到字符串[]),那么我如何添加到主题并将其用作数组 将您的
addMessage()
方法更改为:
addMessage(message:string[]) {
this.message.next(message);
}
然后在logMessage()
方法中传递消息,如下所示:
logMessage(message: string):void {
this.messageService.addMessage(["HeroService: " + message]);
}
message
是一个string[]
主题,这意味着它只会发出字符串数组。谢谢,你知道我如何清除主题吗?this.messages.next([]如有);这句话不管用,你不需要澄清问题。它将包含您将在订阅中获得的最新值。您只需清除/重新初始化this.messages
如下:this.messages=[]代码>
logMessage(message: string):void {
this.messageService.addMessage(["HeroService: " + message]);
}