vue中路由的配置

Vue路由配置详解
本文详细介绍了如何在Vue项目中配置路由,包括创建router目录及文件、定义路由组件、设置路由守卫实现登录验证等关键步骤。

在src目录下创建router目录,创建index.js+routes.js

 routes.js中配置路由组件

export default {
          routes: [
                    {
                              path: '/',
                              name: 'login', // 登录页面
                              component: () => import('../views/login.vue')
                    },
                    {
                              path: '/home',
                              name: 'home', // 主页面
                              meta: {
                                        requireAuth: true // 是否需要登录判断
                              },
                              component: () => import('../views/home.vue'),
                              redirect: '/home/main', // 默认重定向到首页
                              children: [
                                        {
                                                  path: '/home/main',
                                                  name: 'main', // 首页
                                                  component: () => import('../views/main.vue')
                                        }]
}]
}

index.js:

import Vue from 'vue'
import Router from 'vue-router'
import Routes from './routes.js' // 引入上一步的路由页面组件
Vue.use(Router)
// 1.创建路由器
const router = new Router({
  /*mode:'history', 此模式目的去掉访问地址栏的# */
  routes:Routes.routes // 使用导出的路由页面组件
});
// 2.路由守卫
router.beforeEach((to, from, next) => {
  if (to.meta.title) {
    document.title = to.meta.title // 设置每页的网页标题
  }
  if (to.matched.some(record => record.meta.requireAuth)) { // 判断该路由是否需要登录
    if (window.sessionStorage.getItem('userInfo')) { // 判断当前的登录数据是否存在
      next()
    } else {
      // 非法登录
      next({ path: '/', query: {redirect: to.fullPath} })
    }
  } else {
    next()
  }
})

// 3.导出路由器
export default router;

main.js配置:

// 引入路由器
import router from './router'
export default new Vue({
  router,
  render: h => h(App)
}).$mount('#app')

 

### Vue3 中的路由配置与页面跳转 在 Vue3 中,`vue-router` 是用于管理前端路由的核心库。以下是关于如何配置 `vue-router` 并实现页面跳转的具体说明。 #### 安装 vue-router 为了使用 `vue-router`,首先需要安装它。可以通过 npm 或 yarn 进行安装: ```bash npm install vue-router@next ``` 或者 ```bash yarn add vue-router@next ``` 由于 Vue3 使用的是 Composition API 和新的生命周期钩子,因此需要确保安装的是兼容 Vue3 的版本(即 `vue-router@4.x`)[^1]。 --- #### 配置路由 创建一个名为 `router/index.js` 的文件来定义路由规则: ```javascript // router/index.js import { createRouter, createWebHistory } from &#39;vue-router&#39;; import Home from &#39;../views/Home.vue&#39;; // 假设有一个首页组件 import About from &#39;../views/About.vue&#39;; // 假设有另一个关于页组件 const routes = [ { path: &#39;/&#39;, name: &#39;Home&#39;, component: Home, }, { path: &#39;/about&#39;, name: &#39;About&#39;, component: About, } ]; const router = createRouter({ history: createWebHistory(process.env.BASE_URL), routes, }); export default router; ``` 上述代码中,通过 `createRouter` 创建了一个路由器实例,并将其导出以便后续使用。这里还设置了两个简单的路由路径 `/` 和 `/about`,分别对应主页和关于页。 --- #### 在 main.js 文件中引入路由 接下来,在项目的入口文件 `main.js` 中引入刚刚创建好的路由模块,并挂载到应用实例上: ```javascript // main.js import { createApp } from &#39;vue&#39;; import App from &#39;./App.vue&#39;; import router from &#39;./router&#39;; const app = createApp(App); app.use(router); app.mount(&#39;#app&#39;); ``` 这一步完成了将路由集成到整个应用程序的过程。 --- #### 在 APP.vue 中声明 `<router-view>` 占位符 为了让视图能够动态渲染匹配当前 URL 的组件,需在根组件 `App.vue` 内部放置 `<router-view>` 标签作为占位符: ```html <template> <div id="app"> <!-- 导航栏 --> <nav> <router-link to="/">Home</router-link> | <router-link to="/about">About</router-link> </nav> <!-- 页面内容展示区域 --> <router-view></router-view> </div> </template> ``` 在这里,除了 `<router-view>` 外,还可以看到 `<router-link>` 组件被用来生成导航链接。点击这些链接会触发相应的页面切换而无需刷新浏览器。 --- #### 实现页面跳转的方法 有多种方式可以实现在不同页面之间的跳转操作: 1. **HTML 锚点标签** 可以直接利用 HTML 的锚点语法完成基本的功能需求: ```html <a href="#/">回到首页</a> ``` 2. **Vue Router 提供的编程式导航** 如果希望更灵活地控制跳转逻辑,则推荐采用编程的方式调用 `$router.push()` 方法来进行处理: ```javascript this.$router.push({ name: &#39;About&#39; }); ``` 此外还有其他类似的函数如 `$router.replace()`, `$router.go(n)` 等可供选择依据实际场景选用合适的一个。 --- ### 总结 综上所述,Vue3 下的路由设置主要包括以下几个方面的工作:安装依赖包;编写具体的 route 映射关系表单;于全局范围内注册该插件以及最后指定好显示位置即可达成预期效果——支持多级嵌套结构下的无缝衔接体验! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值