Vue3实战案例 知识点全面 推荐收藏 超详细 及附知识点解读

news2024/11/16 16:46:33

最近经常用到vue中的一些常用知识点,打算系统性的对 vue3 知识点进行总结,方便自己查看,另外也供正在学习 vue3 的同学参考,本案例基本包含 Vue3所有的基本知识点,欢迎参考,有问题评论区留言,谢谢。

本项目主要还是四个章节

目录

1.项目结构创建

2.页面组件的划分

3.页面组件实现

3.1NavHeader.vue组件

3.2NavMain.vue组件

3.3 NavFooter.vue组件

3.4 Router部分

3.5 vuex中store部分

3.6 父组件Home.vue部分

3.7 Start.vue组件比较简单

4.业务功能实现

4.1初始页面

4.2 操作任务

4.3添加任务

4.4输入已存在任务

4.5.清除已完成

4.6任务全部完成


1.项目结构创建

这个部分在前面已经写过了,这里就简单提一下,详细的vue项目环境搭配及创建新的项目请参考:VUE 3.0 如何新建项目 详细教程 附环境搭建 推荐-CSDN博客

在命令行输入 vue create todolist 其中 todolist 是你所新建的项目名称,安装包下载成功界面如图所示。

编辑器打开会看到vue脚手架创建默认项目的结构。编辑器配置参考: vscode编辑器下载安装配置

打开命令行输入npm run serve运行项目

2.页面组件的划分

本次项目主要组件以及项目结构如图所示,我这里分成了4个部分,第一个部分是本次项目用到的子组件,第二部分是路由用到的文件 router/index.js,第三部分是状态管理store/index.js,第四部分是父组件Home.vue 以及 文件入口start文件,detail组件。

3.页面组件实现

这部分介绍各个页面的主要代码。

3.1NavHeader.vue组件

NavHeader部分代码,这部分主要是一个输入框,用户输入框输入内容点击enter键获取数据,添加到列表任务栏中。这里输入框内value的值做了双向绑定,组件拿到输入框的值再通过事件分发传递给父组件,父组件拿到子组件传递过来的数据,判断任务列表是否存在,如果已存在则提示'任务已存在',不存在则添加至任务列表中。

关于父子组件传值已经介绍过请参考:vue3.0 入门基础知识汇总【2】 全面 精简 推荐-CSDN博客

3.2NavMain.vue组件

NavMain这部分代码主要是用来展示任务列表的,主要知识点

  1. 条件渲染 v-if 指令
  2. v-for 循环遍历数组,
  3. 接收父组件传值,
  4. 给子组件传值,
  5. 数据的双向绑定 v-model、
  6. 元素绑定事件@click

该页面list数据是通过vuex中的store 文件存储的数据获取的,组件遍历list的值,并把数组的index当成key值。任务列表是否勾选的值做了双向绑定。{{item.title}}文本插值表达式就是对应任务名称,删除按钮绑定删除事件并把要删除的任务以及对应的下标作为参数执行del方法,子组件通过事件分发把待删除的任务的下标传递给父组件

如图所示,父组件接收到子组件传递过来的值,向vuex 的store提交deTodo方法,删除对应的任务。

3.3 NavFooter.vue组件

3.4 Router部分

这里开始部分是Start组件,开始任务,演示了vue3项目中router部分。

关于router部分相关知识前面已经写过请参考:如何配置跳转路由

3.5 vuex中store部分

3.6 父组件Home.vue部分

3.7 Start.vue组件比较简单

这部分主要是为了说明路由这一块,从这里开始项目。

<template>
    <div>
        <button @click="start">
            开始任务
        </button>
    </div>
</template>
<script>
import { defineComponent } from 'vue';
import { useRouter } from 'vue-router';

export default defineComponent ({
        name:'Start',
        setup () {
            let router = useRouter()
            let start = () => {
                router.push({
                    path:'/home'
                })
            }
            return {
                start
            }
        }
})
</script>

<style>
</style>

4.业务功能实现

功能实现其实页面组件那部分顺带介绍了。这里来看一下项目效果吧!

4.1初始页面

即头部输入框可以输入任务名称,main组件有三项待办事项,学习vue、react、和angular,footer组件有已完成项目,以及全部任务数量。

4.2 操作任务

这里可以看到当选择任务列表中的一项时,此项任务背景会变成灰色,右侧删除按钮可以进行删除操作,当我们选中一项任务时,已完成那里会显示1,并且会显示清除已完成按钮。

4.3添加任务

当我们输入框输入Java任务,然后点击enter键后,待办列表就新增Java任务,全部任务变成了4项,输入框清空。

4.4输入已存在任务

当我们输入已经存在的任务时,会弹出任务已存在。

4.5.清除已完成

当我们选中已经完成的任务,并选择清除已完成时,就变成右侧显示页面。

4.6任务全部完成

当任务全部完成时,就是显示暂无任务。

相信看完本教程,你一定会对vue3有更深刻的理解。vue基础知识请参考:vue3.0 入门基础知识汇总【2】 全面 精简 推荐-CSDN博客

本案例项目后续可以在主页资源下载。

后续会出项目部分知识点的解读,谢谢参考。

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

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

相关文章

Linux基本功能

Linux 操作系统&#xff0c;作为开源社区的明星之一&#xff0c;以其稳定性、安全性和灵活性在全球范围内得到广泛应用。 1. 多用户和多任务支持 Linux 是一个真正的多用户系统&#xff0c;允许多个用户同时登录并在同一时间内运行多个程序。每个用户拥有自己的账户和权限&…

每日OJ_牛客HJ86 求最大连续bit数

目录 牛客HJ86 求最大连续bit数 解析代码 牛客HJ86 求最大连续bit数 求最大连续bit数_牛客题霸_牛客网 解析代码 根据位运算&#xff0c;获取每一位的二进制值。获取第i位的值&#xff1a; (n >> i) & 1或者 n & (1 << i)。如果1连续&#xff0c;则计数…

Redis 安装和数据类型

Redis 安装和数据类型 一、Redis 1、Redis概念 redis 缓存中间件&#xff1a;缓存数据库 nginx web服务 php 转发动态请求 tomcat web页面&#xff0c;也可以转发动态请求 springboot 自带tomcat 数据库不支持高并发&#xff0c;一旦访问量激增&#xff0c;数据库很快就…

网工内推 | 合资公司、上市公司数据库工程师,OCP/OCM认证优先,双休

01 欣旺达电子股份有限公司 &#x1f537;招聘岗位&#xff1a;数据库管理高级工程师 &#x1f537;岗位职责&#xff1a; 1、负责数据库规划、管理、调优工作&#xff1b; 2、负责数据库应急预案制定、应急预案维护和应急支持&#xff1b; 3、负责数据库异常处理&#xff…

Unity UGUI 之 事件触发器

本文仅作学习笔记与交流&#xff0c;不作任何商业用途 本文包括但不限于unity官方手册&#xff0c;唐老狮&#xff0c;麦扣教程知识&#xff0c;引用会标记&#xff0c;如有不足还请斧正 本文在发布时间选用unity 2022.3.8稳定版本&#xff0c;请注意分别 1.什么是UI事件触发器…

linux安装jdk和jps(为rocketMq准备)

20240730 一、安装rocketMq之前的准备工作1. 安装jkd&#xff08;这里以1.8为例子&#xff09;1.1 下载jdk1.81.2 上传到linux&#xff08;拖拽&#xff09;1.3 解压1.4 配置环境变量1.5 使配置文件生效1.6 验证结果 2. JPS2.1 解决 一、安装rocketMq之前的准备工作 1. 安装jk…

angular入门基础教程(十)管道即过滤器

管道 何为管道&#xff0c;ng 翻译的真烂&#xff0c;但是听多了你就理解了&#xff0c;类似于 vue2 中的过滤器&#xff0c;过滤器在 vue3 中已经废弃 从common包里面引入&#xff0c;并注册 import { Component, inject } from "angular/core"; import { UpperC…

C# 调用Webservice接口接受数据测试

1.http://t.csdnimg.cn/96m2g 此链接提供测试代码&#xff1b; 2.http://t.csdnimg.cn/64iCC 此链接提供测试接口&#xff1b; 关于Webservice的基础部分不做赘述&#xff0c;下面贴上我的测试代码&#xff08;属于动态调用Webservice&#xff09;&#xff1a; 1&#xff…

Appium自动化测试 ------ 常见模拟操作!

Appium自动化测试中的常见模拟操作涵盖了多种用户交互行为&#xff0c;这些操作对于自动化测试框架来说至关重要&#xff0c;因为它们能够模拟真实用户的使用场景&#xff0c;从而验证应用程序的功能和稳定性。 以下是一些Appium自动化测试中常见的模拟操作&#xff1a; 基本操…

XPathParser类

XPathParser类是mybatis对 javax.xml.xpath.XPath的包装类。 接下来我们来看下XPathParser类的结构 1、属性 // 存放读取到的整个XML文档private final Document document;// 是否开启验证private boolean validation;// 自定义的DTD约束文件实体解析器&#xff0c;与valida…

JavaSE面向对象进阶

static 介绍 static表示静态&#xff0c;是Java中的一个修饰符可以修饰成员方法、成员变量 被static修饰的成员变量&#xff0c;叫做静态变量被static修饰的成员方法&#xff0c;叫做静态方法 静态变量 特点&#xff1a;被该类所有对象共享 调用方式&#xff1a; 类名调用&am…

关于@Async

Spring Boot 2.x 开始&#xff0c;默认情况下&#xff0c;Spring AOP 使用 CGLIB 代理 Async不能在同一个类中直接调用 关于在控制器不能使用Async 并不是因为SpringBoot2以前使用JDK代理 因为JDK代理需要类实现接口,控制器没有实现接口等原因 真正原因是 Async 不能…

windows@powershell@任务计划@自动任务计划@taskschd.msc.md

文章目录 使用任务计划windows中的任务计划任务计划命令行程序开发windows 应用中相关api传统图形界面FAQ schtasks 命令常见用法创建计划任务删除计划任务查询计划任务修改计划任务运行计划任务 PowerShell ScheduledTasks常用 cmdlet 简介1. Get-ScheduledTask2. Register-Sc…

手动在ubuntu上搭建一个nginx,并安装证书的最简化完整过程

背景&#xff1a;由于想做个测试&#xff1a;即IP为A的服务器&#xff0c;绑定完域名X后&#xff0c;如果再绑定域名Y&#xff0c;能不能被访问到。&#xff08;假设对A不做绑定域名的设置&#xff09; 这个问题的来源&#xff0c;见上一篇文章&#xff1a;《云服务器被非法域名…

kaggle使用api下载数据集

背景 kaggle通过api并配置代理下载数据集datasets 步骤 获取api key 登录kaggle&#xff0c;点个人资料&#xff0c;获取到自己的api key 创建好的key会自动下载 将key放至家目录下的kaggle.json文件中 我这里是windows的administrator用户。 装包 我用了虚拟环境 pip …

021.自定义指纹浏览器编译-修改ClientRects指纹

一、什么是ClientRects指纹 ClientRects指纹获取的核心方法是DOM元素方法getClientRects()​ 。getClientRects()​ 可以返回一个元素的所有 CSS 边界框&#xff08;ClientRect对象数组&#xff09;&#xff0c;包括其大小、位置等信息。每个边界框由其左上角的 x, y 坐标和宽…

基于YOLOv10深度学习的商品条形码智能检测与识别系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标检测

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

小程序、H5、APP中的微信支付概述和实战总结

最近开发的一个微信小程序的项目结束了&#xff0c;里面用到了支付相关的api&#xff0c;借着项目总结一下小程序各种场景支付的逻辑。 1. 微信支付概述 1.1 微信支付的重要性 微信支付作为中国领先的移动支付方式之一&#xff0c;其便捷性、安全性以及广泛的用户基础使其成为…

已解决丨怎么快速的让IP地址实现HTTPS访问?

要快速让IP地址实现HTTPS访问&#xff0c;可以遵循以下简洁步骤&#xff1a; 1. 确认公网IP地址 确保你拥有一个固定的公网IP地址&#xff0c;因为HTTPS访问需要通过互联网上的公网IP进行。 2. 选择证书颁发机构&#xff08;CA&#xff09; 选择一个受信任的证书颁发机构&a…

从PLC到云端,ZP3000系列网关助力工业数字化转型

ZP3000系列远程控制网关是一款专为满足现代工业自动化和远程监控需求而设计且功能强大的通讯模块。它的多接口设计和灵活配置能力&#xff0c;使得它能够适应多种复杂的工业通信和监控场景。以下是关于ZP3000系列远程控制网关的详细特点和应用场景&#xff1a; 产品特点 双以太…