> 웹 프론트엔드 > View.js > VUE 라우터 란 무엇이며 SPA (Single Page Application) 내비게이션에 어떻게 사용합니까?

VUE 라우터 란 무엇이며 SPA (Single Page Application) 내비게이션에 어떻게 사용합니까?

James Robert Taylor
풀어 주다: 2025-03-11 19:21:40
원래의
376명이 탐색했습니다.

VUE 라우터 란 무엇이며 SPA (Single Page Application) 내비게이션에 어떻게 사용합니까?

Vue Router는 진보적 인 JavaScript 프레임 워크 인 Vue.js의 공식 라우터입니다. SPA (Single Page Applications)를 구축하는 데 중요한 구성 요소입니다. 전체 페이지 재 장전없이 응용 프로그램 내에서 내비게이션 및 라우팅을 관리 할 수 ​​있기 때문입니다. 대신 페이지의 필요한 부분 만 업데이트하여 더 부드럽고 반응이 좋은 사용자 경험을 만듭니다.

스파 탐색에 Vue 라우터를 사용하려면 먼저 NPM 또는 원사를 사용하여 설치해야합니다.

 <code class="bash">npm install vue-router # or yarn add vue-router</code>
로그인 후 복사

그런 다음 라우터 인스턴스를 만듭니다.

 <code class="javascript">import { createRouter, createWebHistory } from 'vue-router'; import Home from './components/Home.vue'; import About from './components/About.vue'; import Contact from './components/Contact.vue'; const routes = [ { path: '/', component: Home }, { path: '/about', component: About }, { path: '/contact', component: Contact }, ]; const router = createRouter({ history: createWebHistory(), routes, }); export default router;</code>
로그인 후 복사

이 코드는 세 가지 구성 요소 ( Home , About , Contact )에 대한 경로를 만듭니다. createWebHistory 클리너 URL에 브라우저 히스토리 API를 사용합니다. 테스트 또는 서버 측 렌더링에 createMemoryHistory 사용할 수도 있습니다.

마지막으로 기본 응용 프로그램에서 라우터 인스턴스를 사용해야합니다.

 <code class="javascript">import { createApp } from 'vue'; import App from './App.vue'; import router from './router'; createApp(App).use(router).mount('#app');</code>
로그인 후 복사

이제 /about 또는 /contact 탐색하면 전체 페이지 재 장전없이 해당 구성 요소를 렌더링합니다. 응용 프로그램의 링크는 <router-link></router-link> 구성 요소를 사용할 수 있습니다.

 <code class="vue"><router-link to="/about">About</router-link></code>
로그인 후 복사

Vue 라우터를 사용하여 중첩 경로 및 경로 매개 변수를 구현하려면 어떻게해야합니까?

중첩 경로를 사용하면 중첩 탐색 메뉴 또는 조직 구조를 반영하여 응용 프로그램 내에서 계층 구조를 만들 수 있습니다. 이것은 부모 루트의 children 재산 내에서 아동 노선을 정의함으로써 달성됩니다.

 <code class="javascript">const routes = [ { path: '/users', component: Users, // Parent component children: [ { path: ':id', component: UserDetail }, // Child route with parameter { path: 'new', component: UserCreate }, // Child route ], }, ];</code>
로그인 후 복사

이 예에서 /users 부모 경로입니다. /users/:id 동적 세그먼트가있는 하위 경로입니다 :id 는 사용자의 ID를 나타냅니다. /users/new 새로운 사용자를 만들기위한 또 다른 자식 경로입니다. 액세스 :id UserDetail 구성 요소 내에서 ID 매개 변수는 $route 객체를 통해 수행됩니다.

 <code class="javascript"><template> <p>User ID: {{ $route.params.id }}</p> </template></code>
로그인 후 복사

경로 매개 변수를 사용하면 URL을 통해 데이터를 전달할 수 있으므로 응용 프로그램이 더욱 역동적입니다. 경로의 매개 변수 이름 앞에 콜론 ( : 을 사용하여 정의됩니다.

Vue 라우터를 사용하여 Vue.js 응용 프로그램의 경로를 구조화하기위한 모범 사례는 무엇입니까?

경로를 효과적으로 구조화하는 것은 유지 관리 및 확장성에 중요합니다. 모범 사례는 다음과 같습니다.

  • 평평하게 유지하십시오 : 지나치게 깊은 둥지를 피하십시오. 중첩은 유용하지만 너무 많은 레벨을 관리하기가 어려워 질 수 있습니다. 깊은 중첩 경로를 별도의 모듈로 리팩토링하는 것을 고려하십시오.
  • 의미있는 이름을 사용하십시오 : 코드 가독성과 이해를 향상시키기 위해 경로와 구성 요소를 설명 적으로 이름을 지정하십시오.
  • 그룹 관련 경로 : 논리적으로 경로를 구성하고 관련 기능을 함께 그룹화합니다. 이렇게하면 유지 관리가 향상되고 특정 경로를보다 쉽게 ​​찾을 수 있습니다.
  • 경로 구성 요소 사용 : 경로 정의에 너무 많은 논리를 직접 넣지 마십시오. 대신 별도의 VUE 구성 요소를 사용하여 각 경로의 뷰 로직을 처리하십시오.
  • 이름이 지정된 경로 사용 : name 속성을 사용하여 경로 이름을 제공하십시오. 이것은 내비게이션을 단순화하고 코드를 깨끗하게 만듭니다.
 <code class="javascript">{ path: '/about', name: 'About', component: About }</code>
로그인 후 복사

그런 다음 이름을 사용하여 탐색합니다.

 <code class="javascript">this.$router.push({ name: 'About' })</code>
로그인 후 복사
  • 경로 경비원 구현 : 인증 또는 기타 조건에 따라 특정 경로에 대한 액세스를 제어하기 위해 Route Guards (예 : beforeEnter , beforeEach )를 사용하십시오.

VUE 라우터의 다른 내비게이션 방법 (예 : push , replace , go )의 차이점은 무엇입니까?

Vue Router는 탐색을위한 몇 가지 방법을 제공합니다.

  • push(location) : 이것은 가장 일반적인 방법입니다. 새로운 기록 항목이 추가되어 사용자가 브라우저의 뒤로 버튼을 사용하여 이전 페이지로 돌아갈 수 있습니다.
  • replace(location) : 새로운 위치로 탐색하지만 히스토리 스택의 현재 항목을 대체합니다. 사용자는 뒤로 버튼을 사용하여 이전 페이지로 돌아갈 수 없습니다.
  • go(n) : 이 방법은 히스토리 스택을 n 단계로 앞뒤로 움직입니다. go(1) 전달 버튼을 클릭하는 것과 동일하지만 go(-1) 뒤로 버튼을 클릭하는 것과 같습니다.

다음은 차이점을 요약하는 표입니다.

방법 역사 항목을 추가합니다 현재 항목을 대체합니다 뒤로 버튼 기능
push 아니요 활성화
replace 아니요 장애가 있는
go(n) n 에 따라 다릅니다 n 에 따라 다릅니다 n 에 따라 다릅니다

올바른 방법을 선택하는 것은 특정 요구에 따라 다릅니다. push 는 일반적으로 대부분의 탐색 시나리오에서 선호되는 반면, replace 사용자가 이전 페이지 (예 : 성공적인 양식 제출 후)로 돌아갈 수없는 상황에 유용합니다. go 역사 스택에 대한보다 세분화 된 제어를 제공합니다.

위 내용은 VUE 라우터 란 무엇이며 SPA (Single Page Application) 내비게이션에 어떻게 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿