Название действительно не ясно, я даю вам. У меня есть переменная в компоненте, и я хотел бы использовать ее в другом компоненте. Я создал сервис и доступен для наблюдения, чтобы иметь возможность передавать мои данные. Я отправляю свои данные в свою службу, затем перехожу на страницу, на которой эти данные получаются.
this.service.myMethod(this.ville);
this.router.navigateByUrl('tabs/resto-by-ville');
Позже я получаю свои данные и использую их следующим образом:
getDataByVille() {
this.service.myMethod$.subscribe((city) => {
this.city = city;
this.http.get<Etablissement[]>('http://127.0.0.1:8000/api/etablissements/' + this.city).subscribe((data) => {
this.dataByVille = data;
console.log(this.dataByVille);
});
});
}
ngOnInit() {
this.getDataByVille();
}
Моя служба :
export class GetDataByVilleService {
myMethod$: Observable<string>;
private myMethodSubject = new Subject<string>();
constructor() {
this.myMethod$ = this.myMethodSubject.asObservable();
}
myMethod(data) {
console.log(data);
this.myMethodSubject.next(data);
}
Моя проблема в том, что при отправке данных абсолютно ничего не происходит. Если я повторю это во второй раз, это будет работать. Я не понимаю, почему это не работает в первый раз. У тебя есть идея? В настоящее время это не очень UX дружественный