Как уменьшить число запросов при обмене данными между компонентами
Имеются взаимосвязанные компоненты. Приведу упрощенный пример. Компоненты, которые кидают сообщения
class Country extends Component
{
public function setCountry(string $country)
{
...
$this->emit('country_changed', $country);
}
}
class DeliveryInformation extends Component
{
public function setAddres(array $addres)
{
...
$this->emit('delivery_changed', $addres);
}
}
И имеются компонент-слушатель
class OrderInformation extends Component
{
public $country;
public $delivery;
protected $listeners = [
'country_changed' => 'setCountry',
'delivery_changed' => 'setDelivery'
];
public function setCountry(string $country)
{
$this->country = $country;
}
public function setDelivery(array $delivery)
{
$this->delivery = $delivery;
}
}
В UI меняем страну. B это время на сервер летят запросы:
- Изменение состояния компонента
Country, который вызывает событиеcountry_changed - Летит запрос (сработка триггера на событие) на изменение состояния
OrderInformation - Изменение состояния компонента
DeliveryInformation, который вызывает событиеdelivery_changed - Летит запрос (сработка триггера на событие) на изменение состояния
OrderInformation
По сути мне нужно в компоненте OrderInformation, при выполнении некоторых методов, использовать информацию с других компонентов. Каким образом можно реализовать получение информации с других компонентов без вот этой кучи запросов?