Вы можете использовать BehaviorSubject в службе, например, для службы сообщений (не забудьте добавить оператор do
rxjs, если вы:
@Injectable()
export class MessageService {
public $messages: BehaviorSubject<Message[]> = new BehaviorSubject<Message[]>([]);
public getMessages() {
const url = 'your url';
return this.http.get(url).do(messages => this.$messages.next(messages));
}
}
А затем, чтобы получить доступ к вашим данным в компоненте, введите сервис и используйте метод, подобный следующему:
msgService.$messages.subscribe(messages => this.messages = messages); // update data each time next is called
msgService.getMessages().subscribe(); // do the http call
затем, когда вы удаляете сообщение, вам просто нужно обновить список, используя следующее:
const newList = this.messages.filter(message => message.id !== deletedMessage.id);
msgService.$messages.next(newList);
Это автоматически обновит данные.
Надеюсь, это поможет.