vue3 配置路由

使用 vue3 配置路由,步骤如下

 

1、安装路由

npm install vue-router@4

笔者这里的演示项目名称是 vue3-project

 

2、新建页面

这里创建 view目录,然后在view目录下创建 A.vue B.vue 两个 vue页面文件

A.vue内容

<template>
    <div>A</div>
</template>

B.vue内容

<template>
    <div>B</div>
</template>

 

3、创建路由配置文件

新建 router目录,然后在 router目录下新建 index.js和 routes.js文件

index.js 文件内容如下

import {createRouter, createWebHistory} from 'vue-router'
import routes from './routes'

const router = createRouter({
    history: createWebHistory(), 
    routes
})

export default router

routes.js 文件内容如下

const routes = [
    {
        name: 'a',
        path: '/a',
        component: () => import('@/view/A')
    },
    {
        name: 'b',
        path: '/b',
        component: () => import('@/view/B')
    },
    
];

export default routes

在 main.js中配置路由

import { createApp } from 'vue'
import App from './App.vue'
import router from './router/index'

//注意use要在mount之前
createApp(App).use(router).mount('#app')

 

4、添加 router-view

笔者这里为了演示在 app.vue文件中添加,读者可根据自己的情况进行添加

<template>
  <HelloWorld msg="Welcome to Your Vue.js App"/>
  <router-view></router-view>
</template>

<script>
import HelloWorld from './components/HelloWorld.vue'

export default {
  name: 'App',
  components: {
    HelloWorld
  }
}
</script>

<style>
#app {
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>

路由控制在 HelloWorld.vue文件中

使用 this.$router.push()方法进行路由跳转

<template>
  <div class="hello">
    <h1>{{ msg }}</h1>
    <div>
      <button @click="show('a')">A页面</button>
      <button @click="show('b')">B页面</button>
    </div>
  </div>
</template>

<script>
export default {
  name: 'HelloWorld',
  props: {
    msg: String
  },
  methods: {
    show(index) {
      if(index == 'a') {
        this.$router.push('/a')
      }
      if(index == 'b') {
        this.$router.push('/b')
      }
    }
  }
}
</script>

 

5、运行效果

至此完

### Vue3配置路由的方法及示例 在 Vue3 中,`vue-router` 是用于管理前端路由的核心库。以下是关于如何在 Vue3 项目中配置路由的具体方法以及相关示例。 #### 安装 `vue-router` 首先,在使用路由之前需要安装 `vue-router` 库。可以通过 npm 或 yarn 来完成安装: ```bash npm install vue-router@next ``` 或者 ```bash yarn add vue-router@next ``` 由于 Vue3 使用的是 Composition API 和新的生命周期钩子,因此需要确保安装的是兼容 Vue3 的版本(即 `vue[email protected]`)[^1]。 --- #### 配置基础路由 创建一个名为 `router.js` 或 `index.js` 的文件来定义路由规则。以下是一个简单的路由配置示例: ```javascript // router/index.js import { createRouter, createWebHistory } from &#39;vue-router&#39;; import Home from &#39;../views/Home.vue&#39;; // 主页组件 import Category from &#39;../views/Category/index.vue&#39;; // 分类页面组件 const routes = [ { path: &#39;/&#39;, name: &#39;Home&#39;, component: Home, }, { path: &#39;/category&#39;, name: &#39;Category&#39;, component: Category, }, ]; const router = createRouter({ history: createWebHistory(), routes, }); export default router; ``` 在此示例中,我们引入了两个视图组件并将其注册为路由路径 `/` 和 `/category`。注意这里还设置了 `history` 模式为 `createWebHistory()`,这是为了实现 HTML5 历史模式的 URL 跳转[^2]。 --- #### 将路由集成到应用中 接下来,在项目的入口文件 `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;); ``` 这样就完成了路由与应用程序之间的绑定操作。 --- #### 渲染 `<router-view>` 组件 最后一步是在模板中放置 `<router-view>` 占位符以便动态显示对应的组件内容。例如: ```html <!-- App.vue --> <template> <div id="app"> <nav> <!-- 导航链接 --> <router-link to="/">首页</router-link> | <router-link to="/category">分类</router-link> </nav> <!-- 动态渲染区域 --> <router-view></router-view> </div> </template> ``` 上述代码展示了如何利用 `<router-link>` 实现页面间的切换功能,并通过 `<router-view>` 插槽展示匹配成功的组件[^3]。 --- #### 处理未找到的路由 (404) 为了避免访问不存在的地址时返回空白界面,可以设置一条通配符规则捕获所有未知请求并将它们重定向至自定义错误提示页面: ```javascript { path: &#39;/:pathMatch(.*)*&#39;, name: &#39;NotFound&#39;, component: () => import(&#39;../views/NotFound.vue&#39;), // 按需加载 } ``` 此部分实现了当用户输入非法路径时自动跳转到指定的 404 页面的功能[^4]。 --- ### 总结 以上就是在 Vue3配置基本路由的方式及其注意事项。它涵盖了从环境搭建、模块引入再到实际运用中的每一个重要环节。
评论 29
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟世君子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值