Функция маршрутизации в Vue3: установка и настройка Vue Router, базовое использование маршрутизации, динамическая маршрутизация, вложенная маршрутизация.
Функция маршрутизации в Vue3: установка и настройка Vue Router, базовое использование маршрутизации, динамическая маршрутизация, вложенная маршрутизация.

Vue3 — это популярная платформа JavaScript, которая предоставляет множество мощных функций для упрощения разработки интерфейса. Одной из важных функций является управление маршрутизацией. В Vue3 мы можем использовать Vue Библиотека маршрутизатора для реализации функций маршрутизации. В этой статье будут подробно представлены функции маршрутизации в Vue3, включая Установка и настройкаVue Router、Маршрутизация основная использование、динамическая маршрутизация、Вложенная маршрутизацияи т. д.。

Установка и настройка

Сначала нам нужно установить Vue Router. Vue Router можно установить в проект с помощью следующей команды:

Язык кода:markdown
копировать
npm install vue-router@4 --save

После завершения установки,В файле записи проекта(обычноmain.js)Настроить:

Язык кода:markdown
копировать
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'

createApp(App).use(router).mount('#app')

Добавьте Vue Router в файл конфигурации и зарегистрируйте его как плагин для приложения Vue.

Следующий,Нам нужно создать файл конфигурации маршрутизации.(обычноrouter.js),И настраиваем в нем информацию о маршрутизации:

Язык кода:markdown
копировать
import { createRouter, createWebHistory } from 'vue-router'
import Home from './views/Home.vue'
import About from './views/About.vue'

const routes = [
  {
    path: '/',
    name: 'Home',
    component: Home
  },
  {
    path: '/about',
    name: 'About',
    component: About
  }
]

const router = createRouter({
  history: createWebHistory(),
  routes
})

export default router

в файле конфигурации маршрутизации,мы используемcreateRouterФункция создает экземпляр маршрутизации,и пройтиcreateWebHistoryФункция создания режима истории браузера。Затем,существоватьroutesНастройте конкретную информацию о маршрутизации в массиве,Укажите путь, имя и соответствующий компонент.

Теперь мы завершили установку и базовую настройку Vue Router.

Основное использование

В Vue3,мы можем использовать<router-view>и<router-link>компонентыосознатьразгромленпоказыватьинавигация。

первый,существоватькорень проектакомпоненты(обычноApp.vue)Присоединяйтесь<router-view>компоненты,Используется для отображения компонентов, соответствующих текущему маршруту:

Язык кода:markdown
копировать
<template>
  <div id="app">
    <router-view></router-view>
  </div>
</template>

<script>
export default {
  name: 'App'
}
</script>

Затем,Где необходима навигация,использовать<router-link>компонентыдля создания ссылок:

Язык кода:markdown
копировать
<template>
  <div>
    <router-link to="/">Home</router-link>
    <router-link to="/about">About</router-link>
  </div>
</template>

<script>
export default {
  name: 'Navigation'
}
</script>

установивtoсвойство,Мы можем указать целевой путь ссылки.

Таким образом, мы выполнили самую базовую функцию маршрутизации. Когда пользователь нажимает навигационную ссылку, Vue Routerбудет основано на конфигурации в файле конфигурации маршрутизации,Загрузите соответствующий компонент,и отобразить его<router-view>середина。

динамическая маршрутизация

Vue Router также поддерживает динамическую маршрутизацию. Используя заполнители в пути, мы можем создавать маршруты с параметрами.

Язык кода:markdown
копировать
const routes = [
  {
    path: '/user/:id',
    name: 'User',
    component: User
  }
]

В приведенном выше коде,Мы определяем файл с именемUserмаршрутизация,Его путь/user/:ididявляется заполнителем,Указывает, что эта часть пути может быть любой строкой.

существоватьUserкомпонентысередина,мы можем пройти$route.paramsдля доступа к параметрам маршрута:

Язык кода:markdown
копировать
<template>
  <div>
    User ID: {{ $route.params.id }}
  </div>
</template>

<script>
export default {
  name: 'User'
}
</script>

Когда пользователь получает доступ/user/123час,$route.params.idбудет отображаться как123

Вложенная маршрутизация

В реальной разработке проекта нам часто приходится использовать Вложенную маршрутизация для построения сложных структур страниц. Вю Routerпредоставил Вложенная Функция маршрутизации позволяет нам более гибко организовать маршрутизацию.

Язык кода:markdown
копировать
const routes = [
  {
    path: '/dashboard',
    component: Dashboard,
    children: [
      {
        path: '',
        component: Overview
      },
      {
        path: 'profile',
        component: Profile
      },
      {
        path: 'settings',
        component: Settings
      }
    ]
  }
]

В приведенном выше коде,Мы определяем файл с именемDashboardмаршрутизация,Его путь/dashboard。существоватьDashboardкомпонентысередина,Мы можем определить вложенные подмаршруты. Путь дочернего маршрута определяется относительно родительского маршрута.

существоватьDashboardкомпонентышаблонсередина,мы можем использовать<router-view>компонентыдля рендеринга подмаршрутов:

Язык кода:markdown
копировать
<template>
  <div>
    <router-link to="/dashboard">Overview</router-link>
    <router-link to="/dashboard/profile">Profile</router-link>
    <router-link to="/dashboard/settings">Settings</router-link>
    <router-view></router-view>
  </div>
</template>

<script>
export default {
  name: 'Dashboard'
}
</script>

Корректируя путь,Можетсуществовать<router-link>середина Укажите различные подмаршруты。

охрана маршрута

Vue Роутер также обеспечивает охрану Функция маршрута, используемая для выполнения некоторой дополнительной логики при переключении маршрутизации. Часто используемая охрана маршрутавключать:

  • beforeEach: Глобальная предварительная защита, вызываемая перед переключением маршрутизации.
  • beforeResolve: Охранник глобального разрешения, вызванный до подтверждения маршрута.
  • afterEach: Глобальный пост-сторож, вызываемый после переключения маршрутизации.
  • beforeEnter: Эксклюзивная защита маршрута, вызываемая перед входом на маршрут.
  • beforeRouteUpdate: Защита обновления маршрута, вызываемая перед компонентом повторного использования текущего маршрута.
  • beforeRouteLeave: Охрана выхода из маршрута, вызываемая перед уходом из текущего маршрута.

Мы можем использовать эти маршруты охрана для проверки разрешений пользователей, выполнения асинхронных задач и т. д.

Подвести итог

В этой статье мы подробно представляем функциональность маршрутизации в Vue3. Мы научились установке и настройкаVue Маршрутизатор и маршрутизация Главное использование、динамическая маршрутизация、Вложенная маршрутизацияиохрана маршрута и другой контент.

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

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода