【Vue】Vue项目使用vue-router路由
CrazyPanda发表于:2025-07-25 18:05:37浏览:0次
在 Vite 创建的 Vue 项目中开发自定义页面,通常需要创建路由、组件和视图。以下是完整的开发流程:
一、创建路由系统(使用 Vue Router)
1. 安装 Vue Router
yarn add vue-router@4 Vue 3 使用 v4 版本
2. 创建路由配置文件
在 src 目录下创建 router/index.js:
import { createRouter, createWebHistory } from 'vue-router'
const routes = [
{
path: '/',
name: 'Home',
component: () => import('../views/Home.vue') // 首页组件
},
{
path: '/about',
name: 'About',
component: () => import('../views/About.vue') // 关于页面组件
}
]
const router = createRouter({
history: createWebHistory(),
routes
})
export default router
3. 在主应用中挂载路由
修改 src/main.js:
import { createApp } from 'vue'
import App from './App.vue'
import router from './router' // 引入路由
createApp(App)
.use(router) // 使用路由
.mount('app')
二、创建页面组件
在 `src/views` 目录下创建页面组件(例如 `Home.vue` 和 `About.vue`):
Home.vue
<template>
<div class="home">
<h1>首页</h1>
<p>这是我的首页内容</p>
<router-link to="/about">前往关于页面</router-link>
</div>
</template>
<script setup>
// 页面逻辑
</script>
<style scoped>
/ 页面样式 /
</style>
About.vue
<template>
<div class="about">
<h1>关于我们</h1>
<p>这是关于页面的内容</p>
<router-link to="/">返回首页</router-link>
</div>
</template>
<script setup>
// 页面逻辑
</script>
<style scoped>
/ 页面样式 /
</style>
三、修改根组件 App.vue
确保 App.vue 包含路由出口(router-view):
<template>
<div id="app">
<!-- 导航栏 -->
<nav>
<router-link to="/">首页</router-link> |
<router-link to="/about">关于</router-link>
</nav>
<!-- 路由出口:页面内容将在这里显示 -->
<router-view />
</div>
</template>
<style>
/ 全局样式 /
</style>
四、开发嵌套路由(可选)
如果需要在页面内嵌套子路由(例如管理后台),可以这样配置:
1. 修改路由配置 router/index.js
const routes = [
{
path: '/admin',
name: 'Admin',
component: () => import('../views/Admin.vue'),
children: [
{
path: 'dashboard',
name: 'Dashboard',
component: () => import('../views/admin/Dashboard.vue')
},
{
path: 'settings',
name: 'Settings',
component: () => import('../views/admin/Settings.vue')
}
]
}
]
2. 创建父组件 Admin.vue
<template>
<div class="admin">
<h1>管理后台</h1>
<nav>
<router-link to="/admin/dashboard">仪表盘</router-link> |
<router-link to="/admin/settings">设置</router-link>
</nav>
<router-view /> <!-- 子路由内容将在这里显示 -->
</div>
</template>
五、使用组件化开发
在页面中复用组件(例如按钮、表单):
1. 创建组件
在 src/components 目录下创建 Button.vue:
<template>
<button class="custom-button" @click="handleClick">
{{ label }}
</button>
</template>
<script setup>
const props = defineProps({
label: {
type: String,
default: '点击我'
}
})
const emit = defineEmits(['click'])
const handleClick = () => {
emit('click')
}
</script>
<style scoped>
.custom-button {
padding: 8px 16px;
background-color: 409eff;
color: white;
border: none;
border-radius: 4px;
}
</style>
2. 在页面中使用组件
<template>
<div>
<h1>首页</h1>
<CustomButton label="自定义按钮" @click="doSomething" />
</div>
</template>
<script setup>
import CustomButton from '../components/Button.vue'
const doSomething = () => {
console.log('按钮被点击了')
}
</script>
六、运行项目
yarn dev #启动开发服务器
访问 `http://localhost:5173`,你应该能看到导航栏和首页内容,并可以通过链接切换到不同页面。
总结
1. 创建路由系统:配置路径和组件映射。
2. 开发页面组件:在 views 目录下创建 Vue 组件。
3. 使用路由链接:通过 router-link 实现页面导航。
4. 组件化开发:将通用元素封装为组件复用。
这样你就可以基于 Vite + Vue 开发完整的单页应用了!如果需要更复杂的功能(如状态管理、API 请求),可以继续集成 Pinia、Vuex 或 Axios。
猜你喜欢
- 【Vue】深入剖析:Vue核心之虚拟DOM
- 转载:https://www.cnblogs.com/caihongmin/p/17510878.html前言使用 Vue 做项目也有两年时间了,对 Vue 的 api也用的比较得心应手了,虽然对 Vue 的一些实现原理也耳有所闻,例如 虚拟DOM、flow、数据驱动、路由原理等等,但是自己并没有特意去探究这些原理的基础以及 Vue 源码是如何利用这些原理进行框架实现的,所以利用空闲时间,进行 Vue 框架相关技术原理和 Vue 框架的具体实现的整理。如果你对 Vue 的实现原理很感兴趣,那么就
- 【Vue】Antd Pro Vue的使用(一)—— 安装及运行
- 前言Ant Design Pro 是一个企业级中后台前端/设计解决方案,致力于在设计规范和基础组件的基础上,继续向上构建,提炼出典型模板/业务组件/配套设计资源,进一步提升企业级中后台产品设计研发过程中的『用户』和『设计者』的体验。AntDesignVue与react版本有几乎相同的布局AntDesignPro React版本:开箱即用的中台前端/设计解决方案 - Ant Design ProAntDesign组件:Ant Design - 一套企业级 UI 设计语言和 React 组件库Ant
- 【Vue】vue3比vue2好在哪里
- vue 3 优于 vue 2 的关键优势包括:性能提升:响应式系统重写,优化更新速度虚拟 dom 优化,提高渲染效率代码组织和可维护性:组合式 api,提升可维护性teleport 和 suspense,提高代码灵活性和可读性开发者体验:更好的调试工具,简化调试过程typescript 2.7 支持,增强代码提示和类型检查Vue 3 与 Vue 2 的优势对比核心性能提升响应式系统重写:Vue 3 引入 Reactivity API,优化了响应式系统的性能,提升了更新速度。虚拟 DOM 优化:采
- 【Vue】vue使用后端提供的接口
- 在 vue 中使用后端接口可通过以下步骤实现:安装 axios 库并导入。使用 axios 对象创建 http 请求,如 get 或 post。使用 data 选项传递数据。处理响应,使用 data 属性访问后端返回的数据。使用 vuex 管理从后端获取的数据,通过组件访问。在 Vue 中使用后端接口在 Vue.js 应用中使用后端提供的接口可以让你与服务器通信,获取和更新数据。本文将介绍如何在 Vue 中使用后端接口。1. 安装 Axios首先,你需要安装 Axios 库,这是一个用于发起 H
- 【Vue】vue通过class获取dom
- 其实就是操作 html 中的标签的一些能力 我们可以操作哪些内容 获取一个元素 移除一个元素 创建一个元素 向页面里面添加一个元素 给元素绑定一些事件 获取元素的属性给元素添加一些 css 样式 ... DOM 的核心对象就是 docuemnt 对象 document 对象是浏览器内置的一个对象,里面存储着专门用来操作元素的各种方法 DOM: 页面中的标签,我们通过 js 获取到以后,就把这个对象叫做 DOM 对象获取一个元素通过 js 代码来获取页面中的标签获取到以后我们
- 【Vue】Vue3项目filter.js组件封装
- 1、element-plus(el-table)修改table的行样式export function elTableRowClassName({ row, rowIndex }) { if (rowIndex % 2 != 0) { return 'default-row' &nb
- 【Vue】vue框架怎么运行
- vue.js是一个用于构建用户界面的javascript框架,其工作原理包括:模板编译:将html模板编译为vdom;响应式系统:检测数据变化并更新vdom;dom更新:有效更新dom,最小化操作次数;自动渲染:监视数据变化并自动重新渲染ui。Vue.js框架的工作原理Vue.js是一个用于构建用户界面(UI)的JavaScript框架。它采用“响应式”系统,当数据发生变化时,框架会自动更新UI,简化了Web开发过程。Vue.js框架的工作流程:1. 模板编译:Vue.js将HTML模板编译为虚
栏目分类全部>