позицию js разработчика, нужно сделать на angular + ionic. Вот разбираюсь с ними
У меня есть кнопка на странице, которая вызывает showFilters и отображает ionic popover
import { PopoverController } from 'ionic-angular';
import { Filters } from '../filters/filters';
@Component(...)
export class HotelsPage {
start: number;
end: number;
constructor(private popoverCtrl: PopoverController) {}
async showFilters(ev: Event) {
const popover = await this.popoverCtrl.create(Filters);
return await popover.present({
ev: ev
});
}
}
Filters это обычный компонент
@Component(...)
export class Filters {
start: number;
end: number;
constructor() {}
}
Как мне получить данные (start, end) из class Filters ?
Есть вариант повешать событие на закрытие поповера, но я хочу что бы все взаимодействия были реактивныеми, что бы данные перетекали без закрытия
popover.onDidDismiss(payload => {
console.log(payload)
});
на стековерфлоу советуют "create a global service, and inject it to the two components passing data through the service" Но при это мне вручную придется отслеживать состояние popover'а ? реактивности так не добиться?
Не работал с ionic-ом, поэтому только могу предположить. В доке по popover'у (https://ionicframework.com/docs/api/popover), указано, что у инстанса popever есть свойство component, ссылающееся на компонент поповера. Можешь в этом компоненте определить стрим, в который будешь пушить свои события.
Обсуждают сегодня