前端代码基本逻辑-vue3
前端vue建立过程
安装nodejs
官网下载安装,并且记住安装路径,记得配置系统变量Path
安装VUE/CLI
npm install -g @vue/cli --全局安装vue
使用VUE/CLI生成代码框架
vue create your-project-name --我的your-project-name为web
运行项目
cd your-project-name --我的your-project-name为web npm run serve
前端布局过程
访问 Ant Design Vue 查询想要的布局效果
生成代码框架结构介绍--观察VUE前端代码结构
| web | 使用命令行生成的前端文件夹名称 | ||
|---|---|---|---|
| public | 共有的文件夹,通常存放公共(静态)资源(图片/声音) | ||
| picture | 自建,存放图片,src="/picture/xxx.png" | ||
| favicon.ico | 在...引用,浏览器标签使用的图片 | ||
| index.html | 项目的入口,用于加载vue | ||
| src | 存放代码 | ||
| assets | 资源目录,存放静态资源 | ||
| logo.png | 示例图片 | ||
| components | 组件,存放一些不需要改变的页面效果 | ||
| TheHeader.vue | 自建,渲染页面的头部效果 | ||
| TheFooter.vue | 自建,渲染页面的底部效果 | ||
| router | 路由工具 | ||
| index.ts | 用来将view里面的页面和路径映射 | ||
| store | 状态管理目录,使用 Vuex 进行状态管理 | ||
| index.ts | 状态管理配置文件 | ||
| units | 工具类 | ||
| tool.ts | 自建,主要功能(某元素判空,某元素判非空,复制元素) | ||
| view | 存放页面 | ||
| HomeView.vue | 生成的,可根据需要改动 | ||
| AboutView.vue | 生成的,可根据需要改动 | ||
| App.vue | 根组件,作为 Vue 应用的入口点 | ||
| package.json | 定义各个引入组件/依赖/脚本 | ||
| package-load.json | 用来锁定组件/依赖/脚本版本号 | ||
| .eslintrc.js | 可以用来忽略某些语法检查警告 | ||
| .env.dev | 可以用来定义后端(开发)服务的地址前缀,如:VUE_APP_SERVER = http://127.0.0.1:10086 | ||
| .env.prod | 可以用来定义后端(生产)服务的地址前缀,如:VUE_APP_SERVER = http://xxxxxxxxxxxx |
路由部分
import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router'
import HomeView from '../views/HomeView.vue'
import AboutView from '../views/AboutView.vue'
const routes: Array<RouteRecordRaw> = [
// {
// path: '路径',
// name: '名称',
// component: 页面名称
// },{path: '/',name: 'home',component: HomeView},{path: '/about',name: 'about',component: AboutView}
]
const router = createRouter({history: createWebHistory(process.env.BASE_URL),routes
})
export default router
以生成的HomeView为例分析具体标签作用
<template><!-- Vue 模板定义了组件的 HTML 结构 --><div><!-- 使用插值表达式显示响应式变量 demo 的 message 属性 --><h1>{{ demo.message }}</h1><!-- 其他页面元素可以继续添加,比如列表、按钮等 --></div>
</template>
<style scoped>
/* 这里的 CSS 只应用于当前组件,因为使用了 scoped 属性 */
/* .img-style 可以被模板中的元素通过 class 引用 */
.img-style {width: 50px; /* 设置图片样式的宽度为 50px */
}
</style>
<script lang="ts">
import { defineComponent, ref, onMounted } from 'vue';
import axios from 'axios'; // 导入 axios 用于发起 HTTP 请求
export default defineComponent({name: 'MyComponent', // 组件的名称,用于标识组件,方便在路由中使用setup() {// 定义一个响应式的 demo 对象,初始 message 为空字符串,这里的也可以不写如 const demo = ref();const demo = ref({ message: '' });
// 定义一个方法,用于获取数据const way = () => {axios.get("/ebook/listAllDate").then((response) => {// 将获取的数据赋值给 demo 的 message 属性demo.value.message = response.data;});};
// 定义响应式的变量 allBooks 用于存储书籍列表const allBooks = ref([]);// 定义响应式的变量 isWelcome 用于控制欢迎信息的显示const isWelcome = ref(false);
// 使用 ref 创建响应式的 categoryId2 变量const categoryId2 = ref(null);
// 定义一个带参数的方法,用于处理点击事件const handleClick = (value: any) => {axios.get("/ebook/listByCategoryId", { params: { categoryId: value.key } }).then((response) => {// 打印分类 IDconsole.log(value.key);// 将获取的数据赋值给 allBooksallBooks.value = response.data;});if (value.key === "welcome") {// 如果 key 是 "welcome",则显示欢迎信息isWelcome.value = true;} else {// 否则,更新 categoryId2 并隐藏欢迎信息categoryId2.value = value.key;isWelcome.value = false;way(); // 重新调用 way 方法以更新数据}};
// 使用 onMounted 钩子在组件挂载后执行 way 方法onMounted(() => {way();});
// 返回响应式状态和方法,使它们在模板中可用return {demo,way, // 定义组件的方法,可以被模板调用handleClick // 定义组件的事件处理函数};}
});
</script>相关文章:
前端代码基本逻辑-vue3
前端vue建立过程 安装nodejs 官网下载安装,并且记住安装路径,记得配置系统变量Path 安装VUE/CLI npm install -g vue/cli --全局安装vue 使用VUE/CLI生成代码框架 vue create your-project-name --我的your-project-name为web 运行项目 cd your-…...
怎么用PPT录制微课?详细步骤解析!
随着信息技术的不断发展,微课作为一种新型的教学形式,因其短小精悍、针对性强等特点,在教育领域得到了广泛的应用。而PPT作为一款常用的演示工具,不仅可以用来制作课件,还可以利用其内置的录屏功能或结合专业的录屏软件…...
Git使用方法
Git是一种分布式版本控制系统,它可以记录和管理软件开发过程中的变更。 Git的基本概念包括以下几个部分: 仓库(Repository):Git用仓库来存储项目的代码和历史记录。一个仓库可以包含多个分支。 分支(Bran…...
HTTP的请求报文和响应报文是怎样的,有哪些常见字段?
http报文分为请求报文和响应报文 请求报文包含:请求行、请求头、空行、、请求体 请求行包含: 方法:即要执行的操作,如get,post、put、delet 资源路径:请求的资源的URL HTTP版本:使用的http协议…...
自注意力简介
在注意力机制中,每个查询都会关注所有的键值对并生成一个注意力输出。如果查询q,键k和值v都来自于同一组输入,那么这个注意力就被称为是自注意力(self-attention)。自注意力这部分理论,我觉得台大李宏毅老师…...
【GameFramework框架】7-2、GameFramework框架是否“过度设计”?
推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址QQ群:398291828大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 【GameFramework框架】系列教程目录: https://blog.csdn.net/q764424567/article/details/1…...
RISC-V异常处理流程概述(2):异常处理机制
RISC-V异常处理流程概述(2):异常处理机制 一、异常处理流程和异常委托1.1 异常处理流程1.2 异常委托二、RISC-V异常处理中软件相关内容2.1 异常处理准备工作2.2 异常处理函数2.3 Opensbi系统调用的注册一、异常处理流程和异常委托 1.1 异常处理流程 发生异常时,首先需要执…...
Unity3D中如何降低游戏的Drawcall详解
在Unity3D游戏开发中,Drawcall是一个至关重要的性能指标,它指的是CPU通知GPU绘制一个物体的命令次数。过多的Drawcall会导致游戏性能下降,因此优化Drawcall的数量是提高游戏性能的关键。本文将详细介绍Unity3D中降低Drawcall的几种主要方法&a…...
小程序-设置环境变量
在实际开发中,不同的开发环境,调用的接口地址是不一样的 例如:开发环境需要调用开发版的接口地址,生产环境需要正式版的接口地址 这时候,我们就可以使用小程序提供了 wx.getAccountInfoSync() 接口,用来获取…...
【RabbitMQ】一文详解消息可靠性
目录: 1.前言 2.生产者 3.数据持久化 4.消费者 5.死信队列 1.前言 RabbitMQ 是一款高性能、高可靠性的消息中间件,广泛应用于分布式系统中。它允许系统中的各个模块进行异步通信,提供了高度的灵活性和可伸缩性。然而,这种通…...
RuntimeError: Unexpected error from cudaGetDeviceCount
RuntimeError: Unexpected error from cudaGetDeviceCount 0. 引言1. 临时解决方法 0. 引言 使用 vllm-0.4.2 部署时,多卡正常运行。升级到 vllm-0.5.1 时,报错如下: (VllmWorkerProcess pid30692) WARNING 07-12 08:16:22 utils.py:562] U…...
uboot学习:(一)基础认知
目录 uboot是一个裸机程序(bootloader) 作用 要运行linux系统时,如何从外置的flash拷贝到DDR中,才能启动 uboot使用步骤 步骤1中的命令例子 注意 uboot源码获取方法 uboot是一个裸机程序(bootloader)…...
每天一个数据分析题(四百二十六)- 总体方差
为了比较两个总体方差,我们通常检验两个总体的() A. 方差差 B. 方差比 C. 方差乘积 D. 方差和 数据分析认证考试介绍:点击进入 题目来源于CDA模拟题库 点击此处获取答案 数据分析专项练习题库 内容涵盖Python,SQL,统计学&a…...
【C++】设计一套基于C++与C#的视频播放软件
在开发一款集视频播放与丰富交互功能于一体的软件时,结合C的高性能与C#在界面开发上的便捷性,是一个高效且实用的选择。以下,我们将概述这样一个系统的架构设计、关键技术点以及各功能模块的详细实现思路。 一、系统架构设计 1. 架构概览 …...
数学建模中的辅助变量、中间变量、指示变量
在数学建模中,除了决策变量外,还有一些其他类型的变量,如中间变量、辅助变量和指示变量。每种变量在模型中都有特定的用途和意义。以下是对这些变量的详细解释: 1. 决策变量(Decision Variables) 定义&am…...
python的seek()和tell()
seek() seek() 是用来在文件中移动指针位置的方法。它的作用是将文件内部的当前位置设置为指定的位置。 seek(offset, whence) 参数说明 offset: 这是一个整数值,表示相对于起始位置的偏移量。如果是正数,表示向文件末尾方向移动;如果是负…...
Go泛型详解
引子 如果我们要写一个函数分别比较2个整数和浮点数的大小,我们就要写2个函数。如下: func Min(x, y float64) float64 {if x < y {return x}return y }func MinInt(x, y int) int {if x < y {return x}return y }2个函数,除了数据类…...
【每日一练】python之sum()求和函数实例讲解
在Python中, sum()是一个内置函数,用于计算可迭代对象(如列表、元组等)中所有元素的总和。如下实例: """ 收入支出统计小程序 知识点:用户输入获取列表元素添加sum()函数,统计作用 "&…...
打造智慧校园德育管理,提升学生操行基础分
智慧校园的德育管理系统内嵌的操行基础分功能,是对学生日常行为规范和道德素养进行量化评估的一个创新实践。该功能通过将抽象的道德品质转化为具体可量化的指标,如遵守纪律、尊师重道、团结协作、爱护环境及参与集体活动的积极性等,为每个学…...
自定义函数---随机数系列函数
大家有没有发现平常在写随机数的时候,需要引入很多的头文件,然后还需要用一些复杂的函数,大家可能不太习惯,于是我就制作了一个头文件 // random_number.h #ifndef RANDOM_NUMBER_H // 预处理指令,防止头文件被重复包含…...
【BLE系列-第四篇】数据链路层(LL)实战:广播与连接参数优化指南
1. BLE数据链路层核心参数解析 低功耗蓝牙(BLE)的数据链路层(LL)就像交通系统中的红绿灯和道路规划,它决定了设备间如何高效、稳定地建立通信。在实际开发中,我经常遇到工程师对着几十个参数发愁࿱…...
OpenClaw多模型对比:Qwen3.5-4B-Claude与基础版任务实测
OpenClaw多模型对比:Qwen3.5-4B-Claude与基础版任务实测 1. 测试背景与模型选择 最近在搭建个人自动化工作流时,我发现OpenClaw的任务执行质量高度依赖底层大模型的推理能力。为了找到最适合复杂任务的模型,我决定对两个版本进行系统测试&a…...
高维问题如何“降维计算”:矩阵映射、卷积与拆分汇总
你在课程里提到一个很重要的工程化思想: 高维问题看起来复杂,但很多计算可以通过“拆分再计算”的方式降维处理 这篇把它整理成一条可复述的主线,重点放在: 为什么能拆拆完怎么汇总和矩阵/卷积的关系是什么 先说明一个常见误解&am…...
Proteus仿真实战:基于STM32的波形发生器设计与实现(附源码与仿真文件)
1. 从零开始:STM32波形发生器的设计思路 第一次接触波形发生器项目时,我也被各种专业术语搞得一头雾水。后来发现,其实可以把STM32想象成一个音乐盒,DAC模块就是它的发声装置,而我们要做的就是教会这个音乐盒演奏不同风…...
什么是JVM——餐厅类比
目录 一、核心前提 二、JVM 整体定位(餐厅类比总纲) 三、JVM 核心模块拆解(餐厅类比 1:1 对应) 模块 1:类加载器子系统 → 餐厅 “收单 归档员” 核心动作: 关键补充(对应你的内存疑问&a…...
户用光伏爆火却被内耗拖垮?
当下户用光伏赛道卷疯了,订单接到手软,但不少光伏公司却陷入“越忙越乱”的内耗困境。从客户咨询、签单、设计安装,到并网运维,全流程环节繁杂、信息密集,亟需多部门高效协同,可很多企业还在靠人工记录、纸…...
微信聊天记录终极保存方案:3步永久备份你的珍贵回忆
微信聊天记录终极保存方案:3步永久备份你的珍贵回忆 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatM…...
多模态融合新思路:POE在图像与文本数据融合中的5个实战案例
多模态融合新思路:POE在图像与文本数据融合中的5个实战案例 当图像遇见文字,机器如何像人类一样理解两者之间的微妙联系?这正是多模态学习试图解决的核心问题。在医疗影像分析、自动驾驶、智能客服等场景中,单一模态的数据往往存在…...
告别重复造轮子:用快马一键生成模块化cnn开发模板提升效率
最近在做一个图像分类项目时,发现每次从头搭建CNN模型都要重复写大量模板代码,从数据加载到训练循环,很多环节都是固定套路。经过几次折腾后,终于摸索出一套高效开发方法,今天分享如何用模块化思维提升CNN开发效率。 数…...
Blaze分块计算优化技巧:5个方法提升大数据处理性能
Blaze分块计算优化技巧:5个方法提升大数据处理性能 【免费下载链接】blaze NumPy and Pandas interface to Big Data 项目地址: https://gitcode.com/gh_mirrors/bl/blaze Blaze是一个强大的大数据处理工具,它通过分块计算技术为NumPy和Pandas提供…...
