dolist案例实现

这段代码是一个使用Vue.js实现的简单的ToDoList(待办事项列表)应用。我们分几个部分详细解释这段代码。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>todolist</title><script src="../02%20vue%20初识/vue.js"></script><style type="text/css">.list_con {width: 600px;margin: 50px auto 0;}.inputtxt {width: 550px;height: 30px;border: 1px solid #ccc;padding: 0px;text-indent: 10px;}.inputbtn {width: 40px;height: 32px;padding: 0px;border: 1px solid #ccc;}.list {margin: 0;padding: 0;list-style: none;margin-top: 20px;}.list li {height: 40px;line-height: 40px;border-bottom: 1px solid #ccc;}.list li span {float: left;}.list li a {float: right;text-decoration: none;margin: 0 10px;}</style>
</head>
<body>
<div id="todolist" class="list_con"><h2>To do list</h2><input type="text" v-model="message" class="inputtxt"><input type="button" @click="addItem" value="增加" class="inputbtn"><ul id="list" class="list"><li v-for="(item,key) in dolist"><span>{{item}}</span><a @click="upItem(key)" class="up"></a><a @click="downItem(key)" class="down"></a><a @click="delItem(key)" class="del">删除</a></li></ul>
</div>
<script>const app={data(){return{message:"",dolist:["学习GO语言","学习JavaScript语言","学习HTML语言"]}},methods:{addItem(){// this.dolist.unshift(this.message) //前缀添加this.dolist.push(this.message)   //追加添加},//对当前下标开始操作upItem(key){console.log(key)var res = this.dolist.splice(key,1)   //数组类型console.log(res)this.dolist.splice(key-1,0,res[0])},downItem(key){console.log(key)var res = this.dolist.splice(key,1)console.log(res)this.dolist.splice(key+1,0,res[0])},delItem(key){console.log(key)this.dolist.splice(key,1)}}}vm=Vue.createApp(app).mount('#todolist')
</script>
</body>
</html>

实现效果:
在这里插入图片描述
添加内容学习python语言
通过message的v-model方法对标签进行双向传参实现删除功能。
在这里插入图片描述
删除列表学习HTML语言:
在这里插入图片描述
学习ptyhon语言向上👆移动:
在这里插入图片描述
学习GO语言向下👇移动:
在这里插入图片描述

HTML结构

  • div#todolist是整个ToDoList的容器,其中包含一个输入框用于输入新待办事项,一个按钮用于添加新待办事项到列表中,以及显示待办事项的ul#list列表。
  • 列表中的每一项代表一个待办事项。每个待办事项显示其内容,并且有向上(↑)、向下(↓)和删除三个操作链接。

CSS样式

  • CSS部分主要是控制待办事项列表的布局和视觉效果,例如设置容器的宽度、输入框和按钮的样式、列表项的边框和布局等。

JavaScript(Vue.js)

  • app对象定义了这个Vue应用的数据和方法。
    • data()函数返回应用的响应式数据:
      • message用于绑定到输入框,存储新待办事项的文本。
      • dolist是一个数组,存储所有的待办事项。
    • methods对象定义了一些方法来操作待办事项:
      • addItem方法用来将message中的新待办事项添加到dolist数组中。
      • upItem方法接受一个待办事项的索引key,将该待办事项在列表中上移一位。
      • downItem方法接受一个待办事项的索引key,将该待办事项在列表中下移一位。
      • delItem方法接受一个待办事项的索引key,将该待办事项从列表中删除。

Vue指令

  • v-model="message": 将输入框的值双向绑定到message数据。
  • @click="addItem": 给增加按钮绑定点击事件,点击时调用addItem方法。
  • v-for="(item,key) in dolist": 动态渲染dolist数组中的每一项,item是待办事项的内容,key是其索引。
  • @click="upItem(key)"@click="downItem(key)"@click="delItem(key)": 分别给上移、下移和删除操作绑定点击事件,点击时调用对应的方法并传递当前待办事项的索引。

这个ToDoList应用通过Vue.js能够非常简洁地实现待办事项的添加、上移、下移和删除操作,展示了Vue.js在构建交互式Web应用方面的便利性。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis——SpringBoot整合Redis实战

1、基本配置 1.1、引入依赖 首先&#xff0c;建立Maven项目&#xff0c;在Maven项目中引入pom.xml文件&#xff1a; <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> &l…

智能优化算法 | Matlab实现合作优化算法(CSA)(内含完整源码)

文章目录 效果一览文章概述源码设计参考资料效果一览 文章概述 智能优化算法 | Matlab实现合作优化算法(CSA)(内含完整源码) 源码设计 clear clc close SearchAgents_no=30; % Number of search agents Max_iteration=1000;

刘德华恋情大揭秘:朱丽蒨一瞥倾心,豪门之女竟是谣言。

♥ 为方便您进行讨论和分享&#xff0c;同时也为能带给您不一样的参与感。请您在阅读本文之前&#xff0c;点击一下“关注”&#xff0c;非常感谢您的支持&#xff01; 文 |猴哥聊娱乐 编 辑|徐 婷 校 对|侯欢庭 尽管已经62岁&#xff0c;刘德华依然保持着高昂的创作热情。…

C语言贪吃蛇详解

个人简介&#xff1a;双非大二学生 个人博客&#xff1a;Monodye 今日鸡汤&#xff1a;人生就像一盒巧克力&#xff0c;你永远不知道下一块是什么味的 C语言基础刷题&#xff1a;牛客网在线编程_语法篇_基础语法 (nowcoder.com) 一.贪吃蛇游戏背景 贪吃蛇是久负盛名的游戏&…

多彩贵州人文山水展风采,微环境监测智能调控护古韵

一、人文山水时光峰峦——多彩贵州历史文化展 2月3日&#xff0c;贵州省博物馆向公众开放《人文山水时光峰峦——多彩贵州历史文化展》。6000平方米展厅里&#xff0c;从石器时期开始&#xff0c;通过六个篇章&#xff0c;用3503件文物的回忆链&#xff0c;系统化的向观众揭开…

初始vue3

文章目录 Vue3简介Vue3带来了什么性能的提升源码的升级拥抱TypeScript新的特性 Vue3.0工程使用vue-cli创建使用 vite 创建 什么是vite? Vue3简介 2020年9月18日&#xff0c;Vue.js发布了3.0版本&#xff0c;代号&#xff1a;One Piece&#xff08;海贼王&#xff09;耗时2年多…

养老院|基于Springboot的养老院管理系统设计与实现(源码+数据库+文档)

养老院管理系统目录 目录 基于Springboot的养老院管理系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、老人信息管理 2、家属信息管理 3、公告类型管理 4、公告信息管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设选…

第三百零九回

文章目录 1. 概念介绍2. 实现方法2.1 hintText2.2 labelText2.3 controller 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何在输入框中处理光标"相关的内容&#xff0c;本章回中将介绍如何添加输入框默认值.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1.…

Jenkins配置http请求github,发布release

学无止境&#xff0c;气有浩然&#xff01; Jenkins配置http请求github&#xff0c;发布release 前言Jenkins配置github配置在这里插入图片描述 打完收工! 前言 工作中进行了github迁移&#xff0c;原先的gitlab中配置的Jenkins的CI/CD步骤需要发布到Github发布release版本&am…

Go指针探秘:深入理解内存与安全性

目录 1. 指针的基础1.1 什么是指针&#xff1f;1.2 内存地址与值的地址1.2.1 内存中的数据存储1.2.2 如何理解值的地址 2. Go中的指针操作2.1 指针类型和值2.1.1 基本数据类型的指针2.1.2 复合数据类型的指针 2.2 如何获取一个指针值2.3 指针&#xff08;地址&#xff09;解引用…

IntelliJ IDE 插件开发 | (六)内部模式的使用

系列文章 IntelliJ IDE 插件开发 |&#xff08;一&#xff09;快速入门IntelliJ IDE 插件开发 |&#xff08;二&#xff09;UI 界面与数据持久化IntelliJ IDE 插件开发 |&#xff08;三&#xff09;消息通知与事件监听IntelliJ IDE 插件开发 |&#xff08;四&#xff09;来查收…

记录下ibus-libpinyin输入法的重新安装

目前的版本为: 首先把现在的ibus-libpinyin卸了 sudo apt-get --purge remove ibus-libpinyin sudo apt-get autoremove 安装教程请参考 Installation libpinyin/ibus-libpinyin Wiki GitHub yilai sudo apt install pkg-config sudo apt-get install libglib2.0-de…