和chatgpt学架构04-路由开发

news2025/1/11 14:45:07

目录

  • 1 什么是路由
  • 2 如何设置路由
    • 2.1 安装依赖
    • 2.2 创建路由文件
    • 2.3 创建首页
    • 2.4 编写HomePage
    • 2.5 更新路由配置
    • 2.6 让路由生效
  • 3 测试
  • 总结

要想使用vue实现页面的灵活跳转,其中路由配置是必不可少的,我们在做开发的时候,先需要了解知识点,知道他具体是起什么作用。然后需要知道在程序中如何配置。

1 什么是路由

路由起什么作用

路由在前端开发中起到了非常重要的作用。它主要用于管理浏览器 URL 和应用程序之间的映射关系,实现页面之间的导航和切换。

具体来说,路由的作用包括:

  1. 导航:通过路由,用户可以在不同的页面之间进行导航。当用户点击链接或按钮时,路由会根据配置的规则将用户导航到相应的页面,从而实现页面之间的切换。这样用户就可以在应用程序中浏览不同的内容和功能。
  2. URL 映射:路由将特定的 URL 映射到对应的组件或页面。通过定义不同的路由规则,可以使得不同的 URL 对应到不同的视图,从而实现动态的页面渲染。
  3. 参数传递:路由可以接收和传递参数,可以将参数作为 URL 的一部分或者通过查询字符串传递。这使得我们可以在不同页面之间传递数据,从而实现更复杂的功能。
  4. 嵌套路由:路由可以支持嵌套结构,即在一个页面中再嵌套其他页面。这样可以实现更复杂的页面布局和组件组合。
  5. 路由守卫:路由还提供了一些钩子函数,用于在路由切换时执行特定的逻辑。通过路由守卫,我们可以实现权限验证、页面拦截、数据加载等功能。

总而言之,路由在前端开发中起到了连接不同页面和组件、实现导航和切换、传递参数和控制页面逻辑等重要作用。它使得前端应用程序具备了更好的交互性和可扩展性。

2 如何设置路由

2.1 安装依赖

首先需要按照对应的包,用vscode打开我们的工程,打开Terminal,输入输入命令

npm install vue-router@next --save

在这里插入图片描述

2.2 创建路由文件

在src目录下新建一个router文件夹,里边创建一个index.js文件
在这里插入图片描述
路由的基本配置结构如下:

const routes = [
    {
      path: '/',
      component: Home
    },
    {
      path: '/about',
      component: About
    }
  ];
  
  const router = createRouter({
    history: createWebHistory(),
    routes
  });

我们日常需要配置的就是routes,可以根据我们的路径来配置具体的组件

2.3 创建首页

我们这里先配置一个首页,当访问http://localhost:8080时,希望展示首页。页面我们统一放在views文件夹下,eslint要求页面的名称是两个单词,我们先在src文件夹下创建views文件夹,然后在views文件夹下创建HomePage.vue文件

在这里插入图片描述
在开发中,我们常常借助插件来提效,安装一个插件来帮我们自动生成代码模板,点击侧边栏导航的插件图标
在这里插入图片描述
输入插件名称Vue 3 Snippets,点击Install
在这里插入图片描述

2.4 编写HomePage

在HomePage.vue输入如下代码

<template>
    <div class="home-page">
      <h1>Welcome to the Home Page</h1>
      <!-- Add your content here -->
    </div>
  </template>
  
  <script>
  
  export default({
    name: 'HomePage',
    // Add your component options here
  });
  </script>
  
  <style scoped>
  /* Add your component styles here */
  </style>

2.5 更新路由配置

页面完成了之后更新一下路由配置

import { createRouter, createWebHistory } from 'vue-router';
import HomePage from '@/views/HomePage.vue';
const routes = [
    {
      path: '/',
      component: HomePage
    }
  ];
  
  const router = createRouter({
    history: createWebHistory(),
    routes
  });

  export default router;

2.6 让路由生效

路由配置写好之后,需要修改main.js,使用我们的路由

import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import App from './App.vue'
import router from './router/index.js';
const app = createApp(App)

app.use(ElementPlus)
app.use(router);
app.mount('#app')

然后修改App.vue,使用router-view来刷新我们的页面

<template>
  <div id="app">
    <router-view></router-view>
  </div>
</template>

<script>


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

<style scoped>

</style>

3 测试

在Terminal里输入

npm run serve

然后访问我们的首页,看是否可以正常看到首页
在这里插入图片描述

总结

我们本篇介绍了vue的路由的概念,讲解了如何配置路由,设置首页让URL访问的时候引导到首页上,照着教程练习一下吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/782290.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

lwip-2.1.3自带的httpd网页服务器使用教程(四)POST类型表单的解析和文件上传

上一篇&#xff1a;lwip-2.1.3自带的httpd网页服务器使用教程&#xff08;三&#xff09;使用CGI获取URL参数&#xff08;GET类型表单&#xff09; 在阅读本篇内容之前&#xff0c;请修改httpd.c文件&#xff0c;修复lwip自带httpd服务器里面关于post的一个bug&#xff1a;bug…

系统集成|第一章(笔记)

目录 第一章 信息化知识1.1 信息与信息化1.1.1 信息1.1.2 信息系统1.1.3 信息化1.1.4 国家信息化体系要素 1.2 国家信息化战略和规划1.3 电子政务1.4 企业信息化和两化深度融合1.4.1 企业信息化1.4.2 企业应用集成1.4.2.1 电子商务系统1.4.2.2 企业资源规划系统1.4.2.3 客户关系…

【Java】 服务器cpu过高如何排查和解决?

文章目录 前言一、常见能够引起CPU100%异常的情况都有哪些&#xff1f;二、服务器CPU使用率飙升异常&#xff0c;黄金4步排查法三、排查 CPU 故障的常用命令四、什么场景会造成 CPU 低而负载确很高呢&#xff1f;五、监控发现线上机器内存占用率居高不下&#xff0c;如何分析进…

两个数组的dp问题--动态规划

一)最长公共子序列: 1143. 最长公共子序列 - 力扣&#xff08;LeetCode&#xff09; 一)定义一个状态表示:根据经验题目要求 1)选取第一个字符串[0&#xff0c;i]区间以及第二个字符串[0&#xff0c;j]区间作为研究对象&#xff0c;先选取两段区间研究问题&#xff0c;先求出[0…

redis(8):java连接redis

1 Jedis所需要的jar包依赖 <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>3.1.0</version></dependency> 2 Jedis常用操作 2.1 测试连通性 package com.example.demo;import redis.…

手写Spring,理解SpringBean生命周期

按照Spring使用习惯&#xff0c;准备环境 ​ 首先&#xff0c;写一个TigerApplicationContext&#xff0c;模拟Spring的Annotation Application。然后写一个config&#xff0c;接着写一个UserService。 由于Spring需要扫描bean&#xff0c;所以我们得定义一个扫描注解Componen…

【C++】-priority_queue(优先级队列的具体使用和模拟实现)以及仿函数的简单介绍

&#x1f496;作者&#xff1a;小树苗渴望变成参天大树&#x1f388; &#x1f389;作者宣言&#xff1a;认真写好每一篇博客&#x1f4a4; &#x1f38a;作者gitee:gitee✨ &#x1f49e;作者专栏&#xff1a;C语言,数据结构初阶,Linux,C 动态规划算法&#x1f384; 如 果 你 …

ubuntu 开启 ssh 服务 设置root远程登录

设置root用户密码 sudo passwd root安装ssh服务和vim编辑器 sudo apt -y install openssh-server vim开启ssh服务 sudo vim /etc/ssh/ssh_config去掉 配置文件中 Port 22 的注释后保存退出 设置root用户远程登录 sudo vim /etc/ssh/sshd_config将 PermitRootLogin prohibit-pas…

文章审核之敏感词过滤

技术选型 DFA实现原理 DFA全称为&#xff1a;Deterministic Finite Automaton,即确定有穷自动机。 存储&#xff1a;一次性的把所有的敏感词存储到了多个map中&#xff0c;就是下图表示这种结构 敏感词&#xff1a;冰毒、大麻、大坏蛋 工具类 最下面的main方法是测试用的&a…

vuejs源码之解析器

解析就是将模版解析成AST。 <div id"app"><p>{{num}}</p> </div>比如下面这个代码&#xff0c;然后转成AST之后是这个样子。 它是用javascript对象来描述一个接待您&#xff0c;一个对象表示一个节点。对象中的属性用来保存节点所需的各种数…

Docker基本概念+命令

Docker基本概念命令 一、Docker是什么&#xff1f;二、为什么Docker技术受欢迎三、Docker核心概念四、Docker安装五、Docker镜像操作1.搜索镜像2.获取镜像3.镜像加速下载4.查看镜像信息5.查看下载的镜像文件信息6.查看下载到本地的所有镜像7.获取镜像的详细信息8.修改镜像标签9…

【复盘与分享】第十一届泰迪杯B题:产品订单的数据分析与需求预测

文章目录 题目第一问第二问2.1 数据预处理2.2 数据集分析2.2.1 训练集2.2.2 预测集 2.3 特征工程2.4 模型建立2.4.1 模型框架和评价指标2.4.2 模型建立2.4.3 误差分析和特征筛选2.4.4 新品模型 2.5 模型融合2.6 预测方法2.7 总结 结尾 距离比赛结束已经过去两个多月了。 整个过…

手机变局2023:一场瞄准产品和技术的“思维革命”

以折叠屏冲高端&#xff0c;已成为中国手机厂商们的共识。 在这个苹果未涉足的领域&#xff0c;国产手机厂商们加快脚步迭代推新&#xff0c;积极抢占机遇。但平心而论&#xff0c;虽然国产折叠屏机型众多&#xff0c;但市场上始终缺乏一款突破性的产品作为标杆&#xff0c;为…

前端监控一vue指令实现埋点

前端监控一vue指令实现埋点 https://v2.vuejs.org/v2/guide/custom-directive.html 自定义指令 需要在main.js中执行 import Vue from vue // 自定义埋点指令 Vue.directive(track, {//钩子函数&#xff0c;只调用一次&#xff0c;指令第一次绑定到元素时调用。在这里可以…

【100天精通python】Day11:面向对象编程_类的定义和使用

目录 1. 面向对象的程序设计概述 2 类的定义和使用 2.1 定义类&#xff1a; 2.2 创建对象实例&#xff1a; 2.3 创建_init_() 方法 2.4 创建类的成员并访问 2.5 访问限制 2.5.1 公开访问&#xff08;Public Access&#xff09;&#xff1a; 2.5.2 私有访问&#xff08;…

深入学习 Redis - 深挖经典数据类型之 set

目录 前言 一、Set 类型 1.1、操作命令 sadd / smembers&#xff08;添加&#xff09; sismember&#xff08;判断存在&#xff09; scard&#xff08;获取元素个数&#xff09; spop&#xff08;删除元素&#xff09; smove&#xff08;移动&#xff09; srem&#x…

剑指27 二叉树的镜像 28.对称的二叉树 26.树的子结构

方法1&#xff1a;队列迭代 方法2&#xff1a;递归 队列迭代&#xff1a; class Solution { public:TreeNode* mirrorTree(TreeNode* root) {queue<TreeNode*> q;if(rootNULL) return root;q.push(root);while(!q.empty()){TreeNode *curq.front();if(!cur) continue;//…

Golang并发控制

开发 go 程序的时候&#xff0c;时常需要使用 goroutine 并发处理任务&#xff0c;有时候这些 goroutine 是相互独立的&#xff0c;需要保证并发的数据安全性&#xff0c;也有的时候&#xff0c;goroutine 之间要进行同步与通信&#xff0c;主 goroutine 需要控制它所属的子gor…

MySQL_2.3【高级查询】超详细讲解

1. distinct关键字 distinct # 在MySQL中&#xff0c;DISTINCT关键字用于消除重复记录&#xff0c;并返回唯一的记录集。 # DISTINCT关键字可以用在SELECT语句的开头&#xff0c;并在查询结果中显示唯一的行。 # 语法如下&#xff1a; select distinct 列1, ... , 列n from t…

vcomp100.dll丢失怎样修复?总结三个简单的修复方法

最近我遇到了一个问题&#xff0c;我的电脑上出现了vcomp100.dll文件丢失的错误。这个错误导致我无法运行一些使用了Microsoft Visual C编写的程序。当我第一次遇到这个问题时&#xff0c;我感到非常困惑和沮丧&#xff0c;因为我不知道如何解决这个问题。 然后&#xff0c;我开…