首页 > 其他分享 >使用vue-router创建一个简单示例

使用vue-router创建一个简单示例

时间:2024-07-21 23:25:05浏览次数:19  
标签:src About vue 示例 import router Home

以下是一个完整的 Vue.js 应用示例,展示了如何创建一个简单的 Vue.js 应用,并使用 Vue Router 实现不同组件页面之间的导航。这个示例包括组件页面、路由配置以及如何构建和搭建这些页面。

1. 创建项目

首先,创建一个新的 Vue 3 项目:

npm init vue@latest

按照提示完成项目初始化。

2. 安装 Vue Router

在项目目录中,安装 Vue Router:

npm install vue-router

3. 创建组件

在 `src/components` 目录下创建三个组件文件:`Home.vue`、`About.vue` 和 `User.vue`。

在`src/components/Home.vue`输入以下代码:

<template>
  <div>
    <h1>Home Page</h1>
    <p>Welcome to the Home page!</p>
  </div>
</template>

<script>
export default {
  name: 'Home'
}
</script>

<style scoped>
h1 {
  color: #42b983;
}
</style>

在`src/components/About.vue`输入以下代码:

<template>
  <div>
    <h1>About Page</h1>
    <p>This is the About page.</p>
  </div>
</template>

<script>
export default {
  name: 'About'
}
</script>

<style scoped>
h1 {
  color: #42b983;
}
</style>

`src/components/User.vue`:

<template>
  <div>
    <h1>About Page</h1>
    <p>This is the About page.</p>
  </div>
</template>

<script>
export default {
  name: 'About'
}
</script>

<style scoped>
h1 {
  color: #42b983;
}
</style>

4. 配置路由

在 `src` 目录下创建一个新的文件 `router.js` 来配置路由。

`src/router.js`:

import { createRouter, createWebHistory } from 'vue-router';
import Home from './components/Home.vue';
import About from './components/About.vue';
import User from './components/User.vue';

const routes = [
  { path: '/', component: Home },
  { path: '/about', component: About },
  { path: '/user/:id', component: User },
];

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

export default router;

 5. 修改主应用文件

修改 `src/main.js` 文件来使用路由。

`src/main.js`:

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

const app = createApp(App);
app.use(router);
app.mount('#app');

 6. 更新 `App.vue`

在 `src/App.vue` 中添加导航链接和路由视图。

`src/App.vue`:

<template>
  <div id="app">
    <nav>
      <router-link to="/">Home</router-link> |
      <router-link to="/about">About</router-link> |
      <router-link to="/user/123">User</router-link>
    </nav>
    <router-view></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;
  color: #2c3e50;
  margin-top: 60px;
}

nav a {
  margin: 0 15px;
  text-decoration: none;
  color: #42b983;
}

nav a.router-link-exact-active {
  font-weight: bold;
}
</style>

 7. 运行项目

在项目目录下运行以下命令启动开发服务器:

npm run dev

在浏览器中打开网址即可看到页面实现的效果,

标签:src,About,vue,示例,import,router,Home
From: https://blog.csdn.net/m0_58786911/article/details/140595000

相关文章

  • 超好用!空号检测接口使用与调用示例
    空号检测接口是通过调用第三方提供的API接口,实现对手机号码是否为空号的检测服务。它可以帮助快速、准确地识别出无效号码,避免无效的通信,提高通信效率,适用于短信群发、电话营销、注册验证等场景。一、在选择空号检测接口时,你可以考虑以下因素:1.数据准确性:确保接口提供的检......
  • 毕业设计&毕业项目:基于springboot+vue实现的在线音乐平台
    一、前言        在当今数字化时代,音乐已经成为人们生活中不可或缺的一部分。随着技术的飞速发展,构建一个用户友好、功能丰富的在线音乐平台成为了许多开发者和创业者的目标。本文将介绍如何使用SpringBoot作为后端框架,结合Vue.js作为前端框架,共同实现一个高效、可扩展的......
  • 谷粒商城实战笔记-43-前端基础-Vue-使用Vue脚手架进行模块化开发
    文章目录一,Vue的模块化开发1,目录结构2,单文件组件(SFC)3,模块化路由4,Vuex模块5,动态组件和异步组件6,抽象和复用7,构建和打包8,测试9,文档和注释10,持续集成/持续部署(CI/CD)二,实战1,全局安装webpack2,全局安装vue脚手架3,初始化vue项目4,启动vue项目三,Vue应用原理初探1,m......
  • 基于node+vue的婚纱摄影网站
    博主主页:猫头鹰源码博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询文末联系获取项目介绍: 本系统适合选题:婚纱、摄影、婚......
  • 基于springboot+vue的治安管理系统
    博主主页:猫头鹰源码博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作​主要内容:毕业设计(Javaweb项目|小程序|Python|HTML|数据可视化|SSM|SpringBoot|Vue|Jsp|PHP......
  • 基于协同过滤推荐算法+springboot+vue的校园二手商城(前后端分离)
    博主主页:猫头鹰源码博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询文末联系获取项目介绍: 本系统为原创项目,采用前后端分......
  • vue3 ts 项目增加eslint插件实现命令行报错提示和vscode 报错提示,eslint 最新版本9.x
    快速开始安装eslintyarnaddeslint-D然后运行初始化eslintnpxeslint--init接着上面命令会自动生成一个新文件eslint.config.jseslint.config.jsimportglobalsfrom"globals";importpluginJsfrom"@eslint/js";importtseslintfrom"typescript-eslint......
  • vue3 template 特殊的标签
    在Vue.js中,<template>标签是一种特殊的标签,它用于定义组件的模板,但不会直接渲染为HTML元素。它的主要用途是在编写组件和使用插槽时提供灵活的模板定义。以下是关于<template>标签的一些关键概念和使用示例。基本用法组件模板:在单文件组件中(.vue文件),<template>标签用......
  • java基于ssm+vue 药品网购平台
    1用户前台功能模块1.1前台首页前台首页详情页面:首页、药品信息、疫情常识、保健品推荐、个人中心、后台管理、购物车等操作。程序效果图如下图1所示:前台页面等内容,如图1所示。 1.2个人中心在前台页面查看个人中心用户注册、登录,程序效果图如下图2所示:图2个人中心信息......
  • 免费分享一套SpringBoot+Vue高校心理咨询(心理教育辅导)系统【论文+源码+SQL脚本】,帅
    ​大家好,我是java1234_小锋老师,看到一个不错的SpringBoot+Vue高校心理咨询(心理教育辅导)系统,分享下哈。​项目视频演示【免费】SpringBoot+Vue高校心理咨询(心理教育辅导)系统Java毕业设计_哔哩哔哩_bilibili项目介绍随着Internet技术的发展,心理教育辅导系统应运而生,心......