【揭秘Vue Router】新手快速上手,掌握组件间路由导航的实战指南

日期:

最佳答案

引言

Vue Router 是 Vue.js 的官方路由管理器,它容许开辟者构建单页面利用顺序(SPA),使得组件间路由导航变得简单且高效。本文将为你供给一个单方面的 Vue Router 入门指南,帮助你疾速控制组件间路由导航的技能。

Vue Router 简介

Vue Router 是 Vue.js 的官方路由库,专为 Vue.js 利用顺序计划。它容许用户在单页面利用顺序中经由过程改变 URL 来切换差其余视图,而无需重新加载页面。Vue Router 与 Vue.js 的核心深度集成,使得构建交互式跟呼应式的用户界面成为可能。

安装 Vue Router

起首,确保你的项目中曾经安装了 Vue.js。然后,可能经由过程 npm 或 yarn 安装 Vue Router:

# 利用 npm
npm install vue-router

# 或许利用 yarn
yarn add vue-router

设置 Vue Router

在 Vue 项目中,你须要创建一个名为 router/index.js 的文件来设置路由:

import Vue from 'vue';
import VueRouter from 'vue-router';
import Home from '../views/Home.vue';
import About from '../views/About.vue';

Vue.use(VueRouter);

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

const router = new VueRouter({
  mode: 'history',
  routes
});

export default router;

在主进口文件(平日是 main.js)中,你须要引入并利用这个路由器实例:

import Vue from 'vue';
import App from './App.vue';
import router from './router';

new Vue({
  router,
  render: h => h(App)
}).$mount('#app');

路由组件

在 Vue Router 中,每个路由都映射到一个组件。你可能创建一个名为 Home.vue 的组件,并在路由设置中引用它:

<template>
  <div>
    <h1>Home Page</h1>
  </div>
</template>

<script>
export default {
  name: 'Home'
};
</script>

同样,创建一个 About.vue 组件:

<template>
  <div>
    <h1>About Page</h1>
  </div>
</template>

<script>
export default {
  name: 'About'
};
</script>

路由导航

在 Vue 利用顺序中,你可能利用 router-link 组件来创建导航链接:

<template>
  <div>
    <router-link to="/">Home</router-link>
    <router-link to="/about">About</router-link>
  </div>
</template>

当用户点击这些链接时,Vue Router 会主动更新 URL,并衬着对应的组件。

静态路由婚配

Vue Router 支撑静态路由婚配,容许你根据路由参数静态加载组件。比方:

const router = new VueRouter({
  routes: [
    {
      path: '/user/:id',
      name: 'User',
      component: User
    }
  ]
});

在这个例子中,:id 是一个静态参数,它会被转达到 User 组件的 props 中。

编程式导航

Vue Router 还容许你经由过程编程方法导航:

this.$router.push('/about');

这个方法可能接收一个道路字符串或一个描述地点的东西。

命名路由跟视图

Vue Router 容许你为路由命名,并创建多个视图。比方:

const router = new VueRouter({
  routes: [
    {
      path: '/user/:id',
      name: 'user',
      component: User,
      children: [
        {
          path: 'profile',
          name: 'user-profile',
          component: UserProfile
        },
        {
          path: 'posts',
          name: 'user-posts',
          component: UserPosts
        }
      ]
    }
  ]
});

在这个例子中,User 组件将包含 UserProfileUserPosts 组件。

总结

Vue Router 是构建单页面利用顺序的富强东西,它供给了丰富的功能跟机动的路由设置。经由过程本文的介绍,你应当曾经对 Vue Router 有了一个基本的懂得,并可能开端构建本人的单页面利用顺序了。