electron+vue3全家桶+vite项目搭建【四】集成vue-router

本文介绍了如何在Vue.js项目中集成vue-router4,包括安装依赖、创建组件、配置路由、在main.ts中引入和使用路由,以及实现页面间的导航功能。通过示例详细展示了路由跳转和返回上一级的操作。
摘要由CSDN通过智能技术生成

引入

视频讲解
demo项目地址

vue-router官网

单页面应用肯定少不了路由,这一节咱们就来集成一下vue-router

1.引入依赖

npm install vue-router@4

2.配置vue-router

1.首先我们新建一个Demo目录,里面放一个Index.vue用作demo组件的入口文件

// demo/Index.vue
<template>
  <h1>
    这是demo页
  </h1>
</template>

<script setup lang="ts">

</script>

<style scoped>

</style>

2.我们在src下新建一个router目录,然后在里面添加一个index.ts文件,在里面配置路由

// src\router\index.ts
import { createRouter, createWebHashHistory } from 'vue-router'

const router = createRouter({
  //  hash 模式。
  history: createWebHashHistory(),
  routes: [
    // 设置首页
    {
      path: '/',
      component: () => import('../components/demo/Index.vue')
    },
    // 配置helloworld页的路径
    { 
      path: '/hello', 
      component: () => import('../components/HelloWorld.vue') 
    },
  ],
})

export default router

3.src下的main.ts中use我们的路由配置

// src\main.ts
import { createApp } from 'vue'
import "./style.css"
import App from './App.vue'
import './samples/node-api'
import router from './router'

const app = createApp(App)

// 配置路由
app.use(router)

app.mount('#app')
  .$nextTick(() => {
    postMessage({ payload: 'removeLoading' }, '*')
  })

4.App.vue文件删除原来的内容,我们直接补充一个 router-view

// src\App.vue
<script setup lang="ts">
</script>

<template>
  <router-view></router-view>
</template>

<style>
</style>

5.运行项目测试效果:

请添加图片描述

3.路由跳转

我们调整demo/Index.vue的内容:

<template>
  <h1>
    这是demo页
  </h1>
  <ul>
    <li><router-link to="/hello">链接跳转helloworld页</router-link></li>
    <li><a @click="goTo('/hello')">点击事件跳转helloWorld页</a></li>
  </ul>
</template>

<script setup lang="ts">
import { useRouter } from 'vue-router'

const router = useRouter()

// 点击事件跳转对应页面
function goTo(path: string) {
  router.push(path)
}
</script>

<style scoped>
ul {
  list-style: none;
}
</style>

HelloWorld.vue中补充一个返回上一级路由的按钮:

<script setup lang="ts">
// ...
import { useRouter } from 'vue-router'

const router = useRouter()
function goBack(){
  router.back()
}
// ...
</script>

<template>
  <el-button type="success" @click="goBack">返回上一页</el-button>
</template>

运行显示如下:
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值