Bootstrap

Vue组件学习 | 一、 Router组件

各位程序员1024节日快乐~

Vue Router 是 Vue.js 的官方路由管理器,它和 Vue.js 的核心深度集成,让构建单页面应用(SPA)变得简单。以下是 Vue Router 的基本用法

Vue Router 基本用法

安装 Vue Router

首先,你需要安装 Vue Router。如果你使用的是 npm,可以使用以下命令:

npm install vue-router

创建 Router 实例

在你的 Vue 应用中,你需要创建一个 Vue Router 实例,并定义路由。

// 导入 Vue 和 Vue Router
import Vue from 'vue'
import VueRouter from 'vue-router'

// 告诉 Vue 使用 Vue Router
Vue.use(VueRouter)

// 定义路由组件
const Home = { template: '<div>Home</div>' }
const About = { template: '<div>About</div>' }

// 创建路由配置
const routes = [
  { path: '/', component: Home },
  { path: '/about', component: About }
]

// 创建 router 实例
const router = new VueRouter({
  routes // (缩写)相当于 routes: routes
})

在 Vue 实例中使用 Router

将 router 实例传递给 Vue 实例。

const app = new Vue({
  router,
  template: `
    <div id="app">
      <h1>Hello, Vue Router!</h1>
      <ul>
        <li><router-link to="/">Home</router-link></li>
        <li><router-link to="/about">About</router-link></li>
      </ul>
      <router-view></router-view>
    </div>
  `
})

路由组件

路由组件是 Vue 组件,但它们是由 Vue Router 管理的。你可以在 <router-view> 元素中渲染路由组件。

路由参数

你可以在路由配置中定义参数:

const routes = [
  { path: '/user/:id', component: User }
]

然后在组件中通过 this.$route.params 访问参数:

export default {
  data() {
    return {
      user: null
    }
  },
  created() {
    this.user = this.$route.params.id
  }
}

路由导航

你可以使用 <router-link> 组件来创建导航链接,或者使用编程式导航:

<!-- 使用 <router-link> 创建导航链接 -->
<router-link to="/about">About</router-link>
// 编程式导航
this.$router.push('/about')

路由守卫

Vue Router 允许你在路由发生变化之前或之后执行逻辑,称为路由守卫。

const router = new VueRouter({
  routes,
  beforeEach: (to, from, next) => {
    // 在这里执行检查,然后调用 next()
    next()
  }
})

路由懒加载

为了减小应用的加载时间,你可以使用路由懒加载:

const router = new VueRouter({
  routes: [
    { path: '/foo', component: () => import('./Foo.vue') }
  ]
})

以上就是 Vue Router 的基本用法。

你可以在 Vue Router 官方文档 中找到更多高级用法和配置选项。

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;