把字符串放在主题数组中

时间:2018-06-07 07:55:20

标签: angular

我有一个消息服务女巫包括消息主题:

message = new Subject<string[]>();
addMessage(message:string) {
    this.message.next(message);
}

我创建另一个使用此服务(消息服务)的服务来添加消息:

logMessage(message: string):void {
    this.messageService.addMessage("HeroService: " + message)  }
}

然后我将在组件和循环中使用消息主题抛出每条消息:

constructor(private messageService: MessageService ) {
    this.messageService.messages.subscribe(h=>this.messages = h );
}

但是在消息服务 next 中的addMessage函数中出现错误(意味着我无法将字符串类型添加到string []),那么如何添加到subject并将其用作数组?

1 个答案:

答案 0 :(得分:1)

addMessage()方法更改为:

addMessage(message:string[]) {
    this.message.next(message);
}

然后按照logMessage()方法传递消息:

logMessage(message: string):void {
    this.messageService.addMessage(["HeroService: " + message]);
}