Например, у меня есть сайт об автомобилях. У меня есть компонент под названием CarData, который отображает марку, модель, фотографии и т. Д. О конкретном автомобиле. Все хранится в базе данных, доступной REST (каркас laravel), например, под
«/ cars / 5» возвращает JSON с данными для автомобиля с идентификатором 5.
Теперь я хочу использовать этот компонент в двух разных местах, на двух маршрутах - на странице об этой конкретной модели автомобиля и в качестве примера. домашняя страница, где показана последняя модель. На странице всегда указана одна модель автомобиля, без указания нескольких автомобилей.
Я думаю, что могу сделать это двумя способами:
A. На обеих страницах я поставлю компонент и передам ID автомобиля в качестве реквизита:
<car-data :car-id:="5"></car-data>
Затем в компоненте я получу этот реквизит идентификатора машины и сделаю запрос ajax (по оси), чтобы получить информацию об идентификаторе машины 5 и отобразить в этом компоненте.
B. На обеих страницах я сделаю этот ajax-запрос (не в компоненте, а в виде маршрута), а затем передам компоненту уже полученные данные об автомобиле. Компонент будет использоваться только для отображения контента, без каких-либо запросов.
<car-data :car="car"></car-data>
Обычно я бы выбрал вариант «A», потому что повторять одни и те же запросы ajax мне не подходит, но где-то я нашел такой текст
Msgstr "Компоненты не должны обращаться к axios напрямую." Поэтому я не знаю, как к этому относиться.
Может быть, А и В не правы, и я должен сделать что-то еще?