VueRouter之HelloWorld

添加包依赖

javascript 复制代码
  "dependencies": {
    "vue": "^2.7.7",
    "vue-router": "^3.5.4"
  },

Vue2对应VueRouter3

Vue3对应VueRouter4

在src/router/index.js中配置路由

javascript 复制代码
import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

const router = new VueRouter({
    mode: 'history',
    base: import.meta.env.BASE_URL,
    routes: [
        {
        },

    ]
})

export default router

在main.js中引入router

javascript 复制代码
import Vue from 'vue'

import App from './App.vue'
import router from './router'


new Vue({
  router,
  render: (h) => h(App)
}).$mount('#app')

我们做一个简单的案例

点击首页、关于,调到对应的组件

目录结构如下

App.vue

html 复制代码
<script setup>
</script>

<template>
  <div class="app-container">
    <h1>App根组件</h1>
    <router-link to="/home">首页</router-link>
    <router-link to="/about">关于</router-link>
    <hr>
    <router-view></router-view>
  </div>
</template>

<style scoped>
.app-container {
  text-align: center;
  font-size: 16px;
}

.app-container a {
  padding: 10px;
  color: #000;
}

.app-container a.routerr-link-active {
  color: #fff;
  background-color: #000;
}
</style>

HomeView.vue

html 复制代码
<script>
export default {
  name: "HomeView"
}
</script>

<template>
  <div class="home-container">
    <h3>Home组件</h3>
  </div>

</template>

<style scoped>
.home-container {
  min-height: 150px;
  background-color: #f2f2f2;
  padding: 15px;
}

</style>

AboutView.vue

html 复制代码
<script>
export default {
  name: "AboutView"
}
</script>

<template>
  <div class="about-container">
    <h3>About组件</h3>
  </div>

</template>

<style scoped>
.about-container {
  min-height: 150px;
  background-color: #f2f2f2;
  padding: 15px;
}

</style>

index.js

javascript 复制代码
import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

const router = new VueRouter({
    mode: 'history',
    base: import.meta.env.BASE_URL,
    routes: [
        {
            path: '/',
            redirect: '/home'
        },
        {
            path: '/home',
            name: 'home',
            component: () => import('../views/HomeView.vue')
        },
        {
            path: '/about',
            name: 'about',
            component: () => import('../views/AboutView.vue')
        },

    ]
})

export default router
相关推荐
持敬chijing15 分钟前
Web前后端开发-JavaScript 入门教程
开发语言·前端·javascript
专业程序开发源16 分钟前
springbootLivehouse票务系统-计算机课程设计、毕业设计
vue.js·spring boot·后端·python·django·课程设计·pygame
李高钢16 分钟前
Python Django 框架入门:从零搭建你的第一个 Web 应用
前端·python·django
PC2005_cloud19 分钟前
Rust学习笔记:所有权、借用与生命周期——Rust的核心机制
前端·后端
leoZ23121 分钟前
2026-09-10-静态扫描连错三次-用运行环境当裁判
前端·javascript·vue.js·人工智能·opencv·机器学习·数据挖掘
Maxkim24 分钟前
我把一个"会自己查资料"的 AI 助手塞进了浏览器侧边栏,开源了
前端·javascript
mONESY31 分钟前
LangChain 结构化输出进阶:with_structured_output 做了什么,以及它为什么流不起来
javascript
卓怡学长42 分钟前
w233基于vue和springboot的宠物管理系统的设计与实现
java·vue.js·spring boot·spring·intellij-idea
计算机魔术师1 小时前
英伟达要投100亿美元入股Anthropic,史上最大IPO的底牌
前端
hanchenxing1 小时前
自动化脚本“卡住无输出“怎么办: 一次 WebSocket 挂死的排查与自愈模板
运维·javascript·chrome·websocket·自动化·自动化爬虫