Мое наблюдаемое не запускается при изменении маршрута.
У меня есть поведение Subject в моем сервисе.
import { Injectable } from '@angular/core';
import { Observable, BehaviorSubject } from 'rxjs';
import { map } from 'rxjs/operators';
import { Rooms } from '../../models/Rooms';
import { UsersService } from '../users/users.service';
@Injectable()
export class RoomsService {
roomsModel: Rooms
private _roomsSubject: BehaviorSubject<Rooms>
rooms$: Observable<Rooms>
constructor(private usersService: UsersService ) {
this._roomsSubject = new BehaviorSubject<Rooms>(this.roomsModel)
this.rooms$ = this._roomsSubject.asObservable()
}
}
Когда я подписываюсь на него на компонентах (компонент ожидания), подписказапущен, и у меня есть объект.
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
import { Observable } from 'rxjs';
import { UsersService } from 'src/app/services/users/users.service';
import { RoomsService } from 'src/app/services/rooms/rooms.service';
import { Rooms } from 'src/app/models/Rooms';
import { Users } from 'src/app/models/Users';
@Component({
selector: 'app-waiting',
templateUrl: './waiting.component.html',
styleUrls: ['./waiting.component.scss']
})
export class WaitingComponent implements OnInit {
isHost: boolean
room: Rooms
users: Users[]
constructor(private route: ActivatedRoute, private userService: UsersService, private roomsService: RoomsService) { }
ngOnInit() {
this.isHost = (this.route.snapshot.params['host'] == "true")?true:false
if(this.isHost){
this.roomsService.createRoom()
}
this.roomsService.rooms$.subscribe(room => {
console.log(room)
this.room = room;
})
}
}
, но из другого компонента (компонента соединения) я перенаправлен на этот компонент, подписка на это наблюдаемое не сработала.
Мой источникздесь: https://plnkr.co/edit/q2x9z9vPe5ZFyKcb1XUo