так
`this.authorForm = new FormGroup({
Avatar: new FormControl("Avatar"),
Name: new FormControl("Name"),
LanguageId: new FormControl("LanguageId"),
});`
В эту форму я кидаю данные полученные из сервиса
`this.authorSubscription = this.editService.getAuthor().subscribe(data => {
this.authorForm.setValue({
Avatar: data.Avatar,
Name: data.Name,
LanguageId: data.LanguageId.toString(),
});
})
`
Вот этим this.authorSubscription я потом отписываюсь в ngOnDestroy
Всё отписывается, всё норм, но осталась одна проблема которую я не поёму как решить!
Проблема: Когда я ухожу с этой страницы где находится эта форма и возвращаюсь обратно с ДРУГИМИ данными для неё то на мгновение можно заметить что в форме валяются Старые данные.
Как это исправить?
мб внутри getAuthor какой то сабжект с реплеем?
С версткой все ок.. но в контейнере айтемы не видит
только return this.author$; а author$ это бихевиорсабджект
откуда тут mat-row?)
Вроде бы да
это когда displayedColumns пустой)
А как он может быть пустым если в консоле отображается массив ?)
может ты не проверял его)
Новый вопрос как эта подписка может срабатывать два раза при переходе на страницу? this.authorSubscription = this.editService.getAuthor().subscribe(data => { this.authorForm.setValue({ Avatar: data.Avatar, Name: data.Name, LanguageId: data.LanguageId.toString(), }); }) В первый раза data хранит СТАРЫЕ данные, второй раз уже нужные
похоже что где то там у тебя дергается ручка при старте компонента, которая делает next в сабжект
проверил, setAuthor срабатывает один раз setAuthor(author: Author) { this.author$.next(author); }
Обсуждают сегодня