이 섹션에서는 Vue 라우터 내에서 고급 라우팅 기술을 구현하여 동적 경로, 중첩 경로 및 경로 경비원을 포함합니다. 각 측면을 개별적으로 분해합시다.
동적 경로 : 동적 경로를 사용하면 매개 변수를 허용하는 경로를 정의 할 수 있습니다. 이것은 URL을 기반으로 다른 데이터를 표시하는 재사용 가능한 구성 요소를 작성하는 데 매우 유용합니다. 예를 들어, 블로그 게시물 페이지는 동적 경로를 사용하여 ID를 기반으로 다른 게시물을 표시 할 수 있습니다. Colons ( :
를 사용하여 경로 경로에서 동적 세그먼트를 정의한 다음 매개 변수 이름을 정의합니다. 예를 들어:
<code class="javascript">const routes = [ { path: '/blog/:id', name: 'BlogPost', component: BlogPost, props: true // Pass the route parameters as props to the component } ];</code>
이 예에서 :id
는 동적 세그먼트입니다. 사용자가 /blog/123
으로 탐색하면 BlogPost
구성 요소는 id: '123'
소품으로 받게됩니다. 구성 요소 내 에서이 소품에 액세스하여 해당 블로그 게시물을 가져오고 표시 할 수 있습니다. 정규식을 사용하여보다 복잡한 매개 변수 일치를 정의 할 수도 있습니다. 예를 들어, path: '/product/:id([0-9] )'
숫자 ID와의 경로 만 일치합니다.
중첩 경로 : 중첩 경로를 사용하면 응용 프로그램 내비게이션을위한 계층 구조를 만들 수 있습니다. 이것은 많은 페이지로 복잡한 응용 프로그램을 구성하는 데 특히 유용합니다. 부모 경로의 children
재산 내에서 중첩 경로를 정의합니다. 예를 들어:
<code class="javascript">const routes = [ { path: '/users', component: Users, children: [ { path: '', // Default child route, matches '/users' name: 'UserList', component: UserList }, { path: ':id', name: 'UserDetail', component: UserDetail } ] } ];</code>
/users
(사용자 목록을 표시) 및 /users/:id
(특정 사용자에 대한 세부 정보를 표시 함)에서 / /users
경로에 따라 두 개의 경로가 생성됩니다. 이 구조는 경로를 정리하고 유지 관리를 향상시킵니다.
Route Guards : Route Guards는 응용 프로그램에서 내비게이션을 제어 할 수있는 기능입니다. 경로가 활성화되기 전에 호출되며 인증, 인증 또는 데이터 페치와 같은 작업을 수행하는 데 사용할 수 있습니다. Vue Router는 여러 유형의 경비원을 제공합니다.
beforeRouteEnter
: 경로 구성 요소가 생성되기 전에 호출됩니다. 구성 요소가 렌더링하기 전에 데이터를 가져 오는 데 유용합니다.beforeRouteUpdate
: 경로 구성 요소에 다른 매개 변수가 재사용 될 때 호출됩니다.beforeRouteLeave
: 경로 구성 요소가 비활성화되기 전에 호출됩니다. 이것은 구원받지 않은 변화를 확인하는 데 유용합니다.beforeEach
(Global Guard) : 모든 경로에 적용되는 글로벌 가드. 인증을위한 beforeEach
가드의 예 :
<code class="javascript">router.beforeEach((to, from, next) => { const requiresAuth = to.matched.some(record => record.meta.requiresAuth); const isAuthenticated = !!localStorage.getItem('token'); // Check for authentication token if (requiresAuth && !isAuthenticated) { next('/login'); // Redirect to login page } else { next(); // Proceed to the route } });</code>
복잡한 경로 구성을 효과적으로 관리하려면 신중한 계획 및 조직이 필요합니다. 모범 사례는 다음과 같습니다.
경로 경비원은 액세스 및 내비게이션 흐름을 제어하는 데 필수적입니다. 인증, 인증 및 기타 내비게이션 관련 논리를 구현하기위한 중앙 집중식 메커니즘을 제공합니다. 노선 경비병의 효과적인 사용은 다음과 같습니다.
이 섹션에서는 동적 및 중첩 경로를 구현하는 구체적인 예를 제공합니다.
동적 경로 예 :
<code class="vue">// routes.js const routes = [ { path: '/product/:id', name: 'ProductDetail', component: ProductDetail } ]; // ProductDetail.vue <template> <div> <h1>Product {{ $route.params.id }}</h1> </div> </template></code>
이 예제는 id
매개 변수를 기반으로 제품 세부 사항을 표시하는 동적 경로를 보여줍니다.
중첩 노선 예 :
<code class="vue">// routes.js const routes = [ { path: '/admin', component: Admin, children: [ { path: 'users', component: AdminUsers }, { path: 'products', component: AdminProducts } ] } ];</code>
이것은 /admin
경로 아래 중첩 경로를 정의합니다. /admin/users
탐색하면 AdminUsers
구성 요소가 렌더링되며 /admin/products
AdminProducts
렌더링합니다. 중첩 노선은 부모의 경로를 물려받습니다. $route
사용하여 구성 요소에서 액세스 할 수 있습니다. 예를 들어 AdminUsers
내 에서이 this.$route.path
/admin/users
입니다.
위 내용은 VUE 라우터 (동적 경로, 중첩 경로, 노선 경비원)를 사용하여 고급 라우팅 기술을 구현하려면 어떻게해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!