当前位置: 首页 > news >正文

Vue基础(前端教程①-路由)

项目结构

src/├── router/│    └── index.js       # 路由配置├── components/│    ├── Home.vue       # 首页组件│    ├── About.vue      # 关于页组件│    └── Contact.vue    # 联系页组件├── App.vue             # 根组件(含导航栏)└── main.js             # 入口文件

1. 路由配置文件 router/index.js

import { createRouter, createWebHistory } from 'vue-router'
import Home from '../components/Home.vue'
import About from '../components/About.vue'
import Contact from '../components/Contact.vue'const routes = [{ path: '/', name: 'Home', component: Home },{ path: '/about', name: 'About', component: About },{ path: '/contact', name: 'Contact', component: Contact }
]const router = createRouter({history: createWebHistory(),routes
})export default router

2. 组件文件 components/

Home.vue
<template><div class="page-container"><h1>首页</h1><p>欢迎访问我们的网站!</p><button @click="greet">点击打招呼</button></div>
</template><script>
export default {name: 'Home',methods: {greet() {alert('Hello!')}}
}
</script><style scoped>
.page-container {padding: 20px;
}
</style>

3. 根组件 App.vue

<template><div id="app"><!-- 导航栏 --><nav class="navbar"><router-link to="/" class="nav-link">首页</router-link><router-link to="/about" class="nav-link">关于</router-link><router-link to="/contact" class="nav-link">联系</router-link></nav><!-- 路由出口:显示当前页面 --><router-view /></div>
</template><script>
export default {name: 'App'
}
</script><style>
#app {font-family: Avenir, Helvetica, Arial, sans-serif;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;text-align: center;margin-top: 50px;
}.navbar {background-color: #f8f9fa;padding: 10px 0;margin-bottom: 20px;
}.nav-link {margin: 0 15px;text-decoration: none;color: #333;font-weight: 500;
}.nav-link.router-link-exact-active {color: #42b983;border-bottom: 2px solid #42b983;padding-bottom: 2px;
}
</style>

4. 入口文件 main.js

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'// 创建应用并使用路由
createApp(App).use(router).mount('#app')

所有需要在整个应用中生效的功能(如路由、全局样式、插件),都需要在 main.js 中通过 app.use() 或 app.component() 等方法 “启用”,否则无法在应用中全局使用。

main.js 是 Vue 应用的 “全局配置中心”,负责告诉应用:“哪些资源是全局可用的,如何启动整个应用”。但它本身不是全局变量的容器,而是控制全局行为的入口。

http://www.dtcms.com/a/288252.html

相关文章:

  • 从 C# 转 Python 第三天:文件操作、异常处理与错误日志实践
  • 量子计算与AI融合的技术突破与实践路径
  • 物联网系统中-告警配置功能的定义
  • #Datawhale组队学习#7月-强化学习Task2
  • Java行为型模式---状态模式
  • python类Keys
  • kombu 运行超长时间任务导致RabbitMQ消费者断开
  • 智能制造——解读39页汽车行业数字化工厂解决方案【附全文阅读】
  • 【RK3576】【Android14】调试方法
  • JavaSE-接口
  • Buildroot vs Yocto:SDK 构建机制的核心差异与实践案例
  • Python爬虫开发实战:Selenium自动化与浏览器控制全解析
  • YOLOv11改进 | DWRSeg扩张式残差助力小目标检测
  • web前端渡一大师课 02 浏览器渲染原理
  • Zara和网易云音乐仿写总结
  • Cortex-M内核的屏障指令
  • 并行编程实战——CUDA入门编程的函数
  • 亚马逊 TM 标产品反跟卖实战:从平台规则到技术工具的立体防御体系
  • Java的CAS是如何实现的、ABA问题
  • 生成式引擎优化(GEO)权威指南:提升网站在AI搜索中的可见性
  • 我们使用 Blender 和 Godot 的工作流程
  • Python高级数据类型:字典(Dictionary)
  • 遇到SolidWorks 安装失败
  • AI辅助编程时代的高效规范开发指南:工具、原则与提效策略
  • Python 桌面版 数独游戏(一版)
  • window上docker安装RabbitMQ
  • Synopsys Datapath Coding 指南
  • 【ExtendScript Toolkit CC】【PR插件开发】获取当前序列的所有剪辑片段名
  • 技术文章:PCB基板的介电强度
  • RT-Thread的概念和移植