base переменную, а в другом компоненте за этой переменной следить. Нереально?
Когда вы наследуетесь то вы создаете инстанс класса. Если вы начледуетесь другим классом для него создаётся отдельный инстанс. То что вы хотите сделать должно быть в рамках одного наследования
Звучит логично. Тогда какие варианты? Я попробовал переделать это все в сервис, т.е. там эту переменную хранить и методы вызывать там же, но тогда возникает другой косяк: ngIf срабатывает через раз, т.е. не при каждом вызове метода show показывается кнопка. Логику почему так пока не уловил.
такие вещи надо хранить в потоке и подписываться на него
recentLoader = new ReplaySubject(false); showRecentLoader() { this.recentLoader.next(true); } hideRecentLoader() { this.recentLoader.next(false); } selectLoader() { return this.recentLoader.asObservable() }
Почему вы не вызываете методы в том компоненте который экстендит ?
Потому что вся логика скролла в другом компоненте. А именно на виртуальном скролле и его методах завязана логика появления кнопки.
Покажите скрины. Может вам просто надо сделать по другому
Я бы сделал компонент скрола в который можно передать ngcontent ом другие компоненты, привязал бы на него viewchild и там бы во внешнем компоненте вызывал бы методы скрола. Мой архитектурный проверенный вариант
Вот у меня в сервисе примерно так же, но через BehaviorSubject.
Реплей сабжект запомнит последний эмит
ну да. ошибся
Не, происходит то же самое, что и через BehaviorSubject (да и через обычный Subject) - при подписке значение консолится корректно, но в html изменение передается хрен пойми как - через раз, а то и реже.
Обсуждают сегодня