首页 > 其他分享 >Vue3实战案例 知识点全面 推荐收藏 超详细 及附知识点解读

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

时间:2024-07-30 14:26:19浏览次数:14  
标签:实战 知识点 vue 输入框 任务 Vue3 组件 页面

最近经常用到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博客

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

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

标签:实战,知识点,vue,输入框,任务,Vue3,组件,页面
From: https://blog.csdn.net/weixin_43483590/article/details/140774058

相关文章

  • 性能测试:深入探索与实战指南
     大家好,我是一名测试开发工程师,已经开源一套【自动化测试框架】和【测试管理平台】,欢迎大家联系我,一起【分享测试知识,交流测试技术】        在当今这个信息化、数字化的时代,软件系统的性能直接关乎到用户体验、系统稳定性以及企业的运营效率。性能测试作为评估系......
  • 【Vue3】前端使用JWT令牌技术的实践方案
    目录技术介绍简单介绍:详细介绍:操作流程1.后端在登录响应里返回jwt2.前端将该变量存入浏览器当中3.前端使用jwt请求的时候作为请求头解码令牌内信息技术介绍简单介绍:        JWT令牌是一种用户校验机制,在登录后服务器会返回用户一个JWT令牌(相当于门票),用......
  • vue3 封装request请求
    vue3原生请求封装我这里用一个案例来解释需求:把vue3原生的静态页集成到vue2的若依项目并且可以访问vue2接口在vue3src下的utils下创建文件request.ts文件importaxiosfrom"axios";import{showMessage}from"./status";//引入状态码import{ElMess......
  • playbook+roles安装nginx实战
    基本目录结构host文件夹用于存放主机清单文件hosts文件hosts文件内容如下:(仅供参考)[proxy]node2[web]192.168.xx.xxplaybook-all-roles.yml文件用于指定执行哪个role的文件(命名可以自定义)文件内容如下:(仅供参考)因为roles文件夹下只有nginx一个文件夹,所以-rol......
  • vue3写pdf文档预览和下载
    1.实现效果:文件列表点击pdf文档可预览,含多页,带下载按钮 2. 用的vue3+vue-pdf-embed版本号可用1.x或2.x:这里我用的1.2.1版本:"vue-pdf-embed":"1.2.1"//安装:[email protected] vue-pdf-embed官方文档:2.0.0版本:https://www.npmjs.com/packa......
  • Vue3的学习---3
    3.Vue进阶3.1Vue方法、计算属性及监听器3.1.1computed计算属性computed用于定义计算属性,计算属性是基于他们的依赖关系进行缓存的,只有当依赖的数据发生变化时,计算属性才会重新计算。数据不发生变化:<body><divid="app">{{msg}}<br>{{r......
  • Go-kratos框架商城微服务实战四
    Go-kratos框架商城微服务实战四接口测试,这里采用testify进行断言测试新建/test/目录新建/test/user_grpc_test.gopackagemainimport( "context" "log" "os" "testing" "time" v1"user/api/user/v1"//导入userclient &q......
  • vue3中使用keepAlive缓存路由组件不生效的问题解决
    在Vue3中使用keep-alive缓存路由组件时,可能会遇到一些问题导致缓存不生效。以下是一些常见的问题及其解决方案:keep-alive写法错误:在Vue3中,使用keep-alive需要将router-view包裹在keep-alive中,并通过插槽传递组件。例如:<template><router-viewv-slot="{Co......
  • Java中的二叉搜索树(如果想知道Java中有关二叉搜索树的知识点,那么只看这一篇就足够了!)
        前言:Java提供了丰富的数据结构来处理和管理数据,其中TreeSet和TreeMap是基于红黑树实现的集合和映射接口。它们有序地存储数据,提供高效的搜索、插入和删除操作。✨✨✨这里是秋刀鱼不做梦的BLOG✨✨✨想要了解更多内容可以访问我的主页秋刀鱼不做梦-CSDN......
  • playbook+roles安装jdk实战
    目录结构host文件夹用于存放主机清单文件hosts文件hosts文件内容如下:(仅供参考)[proxy]node2[web]node3node4playbook-all-roles.yml文件用于指定执行哪个role的文件(命名可以自定义)文件内容如下:(仅供参考)因为roles文件夹下只有nginx一个文件夹,所以-role:java就指......