vue路由的使用

本文详细介绍如何使用 Vue 路由器进行页面导航和组件管理,包括安装 vue-router、配置路由规则、嵌套路由、组件缓存及编程式导航等核心功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果使用vue-cli脚手架工具的话,默认会给你安装路由的提示选项,根据自己需要选择安装与否,这里仅仅是了解其原理。

1、首先是安装vue-router插件

cnpm(npm) install --save vue-router

2、然后新建在src目录下新建一个router文件夹,然后新建一个index.js的文件,紧接着自定义路由组件,许多描述在注释中

import Vue from 'vue' //要使用vue的路由插件必然先引用vue
import VueRouter from 'vue-router'   //引用vue插件,注意写法
import Home from '../pages/Home.vue'
import About from '../pages/About.vue'

Vue.use(VueRouter)  //////vue使用插件,固定写法,这里是使用vue-router插件

export default new VueRouter({  ////////对外暴露,初始化构造函数
  routes: [/////////这里是路由规则
    {
      name: 'about',  //可有可无,在渲染to中会用到name
      path: '/about',  //url地址
      component: About  //上面url地址对应的组件,从其他页面引用的
    },
    {
      name: 'home',
      path: '/home',
      component: Home
    },
    {
      name: 'default',
      path: '/',                   ///访问根目录会访问/home
      redirect: '/home'
    },
    {
      name: 'content',  //动态配置路由
      path: '/content/:id',        ///在模板中使用{{$route.params.id}}
    },
  ]
})

3、在main.js注册路由,在vue实例中注册router,然后其他组件都可以使用该路由了

import Vue from 'vue'
import App from './App'
import router from './router/index.js'   /////在入口文件引入刚刚定义的路由组件

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  components: { App },
  template: '<App/>',
  router        ///////挂载路由,使用路由组件,固定写法,router: router,引入的名称,
})

3、在App.vue中使用路由

    <router-link to="/home">Home</router-link>  默认会被渲染成一个 <a> 标签 , to就是我们定义的path地址
    <router-view></router-view>  路由匹配到的组件将渲染在这里

4、嵌套路由的使用,children,看下面的代码的注释

import Vue from 'vue' //要使用vue的路由插件必然先引用vue
import VueRouter from 'vue-router'   //引用vue组件,注意写法
import Home from '../pages/Home.vue'
import About from '../pages/About.vue'
import List from '../pages/list.vue'
import Content from '../pages/content.vue'

Vue.use(VueRouter)  //////使用vue插件,固定写法

export default new VueRouter({  ////////对外暴露
  routes: [
    {
      name: 'about',
      path: '/about',
      component: About
    },
    {
      name: 'home',
      path: '/home',
      component: Home,
      children: [                        ////////嵌套路由,home下面的子路由
        {
          path: '/home/list',            ////path值中的'/'始终代表跟目录
          component: List
        },
        {
          path: 'content',               ///////简化写法,也可以/home/content
          component: Content
        },
        {
          path: '',                      ////////嵌套路由默认显示哪个
          redirect: '/home/list'
        }
      ]
    },
    {
      name: 'default',
      path: '/',
      redirect: '/home'
    }
  ]
})

5、缓存路由组件对象(切换的时候保留原先组件的信息,比如说一个页面包含注册和登录2个组件,注册用户填写一部分内容的时候不小心切换到登录组件,要想保留注册组件中填写的信息就需要用的keep-alive)

<keep-alive>

<router-view></router-view>

</keep-alive>

6、编程时导航

this.$router.push(path)相当于点击路有链接

当你点击 <router-link> 时,这个方法会在内部调用,所以说,点击 <router-link :to="..."> 等同于调用 router.push(...)。

// 字符串
router.push('home')

// 对象
router.push({ path: 'home' })

// 命名的路由
router.push({ name: 'content', params: { id: 1 }})
这个会查找我们在路由中定义name是content的地方,然后找到path,比如说我们在路由组件是这样定义的

// 带查询参数,变成 /content?id=1
    {
      name: 'content',  //动态配置路由
      path: '/content/:id',        ///在模板中使用{{$route.params.id}}
    }, 

// 带查询参数另外一个中方式,直接写path变成 /content?id=1
router.push({ path: 'content', query: { id: 1 },})

this.$router.replace(path)替换当前路由

this.$router.back()返回上一个记录的路由地址

this.$router.go(-1)跳转到某个路由地址

### 配置和使用 Vue 路由 Vue Router 是 Vue.js 的官方路由管理器,它允许开发者通过定义不同的路径来导航到应用的不同部分。以下是关于如何在 Vue 应用程序中配置和使用路由的详细介绍。 #### 安装 Vue Router 要开始使用 Vue Router,首先需要安装该库。可以通过 npm 或 yarn 来完成这一操作[^1]: ```bash npm install vue-router@next --save ``` 或者如果使用的是 Yarn,则可以运行以下命令: ```bash yarn add vue-router@next ``` #### 创建路由实例并设置路由映射 创建一个 `router/index.js` 文件,在其中初始化路由器,并定义组件之间的映射关系。下面是一个简单的例子[^2]: ```javascript import { createRouter, createWebHistory } from 'vue-router'; import Home from '../views/Home.vue'; // 假设有一个名为Home的视图组件 import About from '../views/About.vue'; const routes = [ { path: '/', name: 'Home', component: Home, }, { path: '/about', name: 'About', component: About, } ]; const router = createRouter({ history: createWebHistory(process.env.BASE_URL), routes, }); export default router; ``` 上述代码片段展示了如何导入必要的模块以及自定义路径与组件的关系。 #### 将路由集成至主应用程序文件 接着,在项目的入口文件(通常是 `main.js`),引入刚刚创建好的路由对象并将它传递给 Vue 实例[^3]: ```javascript import { createApp } from 'vue'; import App from './App.vue'; import router from './router'; createApp(App).use(router).mount('#app'); ``` 这样就完成了基本的路由配置工作流程。 #### 动态路由匹配与嵌套路由支持 除了基础功能外,Vue Router 还提供了动态参数解析、重定向等功能。例如,当访问 `/user/:id` 形式的 URL 时,我们可以捕获 id 参数用于加载特定用户的资料页面[^4]。 另外还可以实现更复杂的场景比如子级路由结构等特性,这使得构建大型单页应用成为可能。 ```javascript { path: '/user/:id', component: User, children:[ {path:'profile',component:UserProfile}, {path:'posts',component:UserPosts} ] } ``` 以上就是有关于 Vue 中配置和使用路由的一个概括说明。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值