Передача параметров в компоненты маршрутов

Passing Props to Route Components

Одна из ключевых особенностей Vue Router - возможность передачи параметров между компонентами маршрута. Эта возможность позволяет создавать динамические и интерактивные маршруты, которые могут отображать разный контент в зависимости от переданных параметров.

Передача параметров через объект props

Самый простой способ передать параметры компоненту маршрута - использовать объект props в конфигурации маршрута. Рассмотрим следующий пример:

В этом примере мы передаем параметр id компоненту Home. Значение этого параметра будет доступно в компоненте через свойство this.$route.params.id

Передача параметров через функцию props

Иногда вам может потребоваться более гибкий контроль над передаваемыми параметрами. В таких случаях вы можете использовать функцию props для определения параметров, которые будут переданы компоненту. Например:

В этом примере мы передаем параметры id и user компоненту Home. Функция props дает нам полный контроль над тем, какие параметры будут переданы, и позволяет нам динамически их вычислять на основе параметров маршрута

Доступ к параметрам маршрута в компоненте

В компоненте маршрута вы можете получить доступ к переданным параметрам через объект this.$route.params. Например:

Пример использования

Предположим, у нас есть приложение для электронной коммерции, где мы хотим отобразить подробную информацию о продукте на отдельной странице. Мы можем использовать Vue Router для создания маршрута, который принимает параметр productId и передает его компоненту ProductDetails

В этом примере компонент ProductDetails получает параметр productId из объекта this.$route.params и использует его для отображения подробной информации о соответствующем продукте.

Через RouterView

Via RouterView

Вы также можете передавать любые пропсы через slot в RouterView

Заключение

Передача параметров в компоненты маршрута - важная функция Vue Router, которая позволяет создавать динамические и интерактивные приложения. Используя объект props или функцию props, вы можете легко передать необходимые параметры в свои компоненты, обеспечив их доступность для отображения и обработки.