Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 将字符串放入主题数组中_Angular - Fatal编程技术网

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]);
}