ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# Todo案例 为todo数据库添加账号 1.使用mongo命令 进入mongodb数据库 2.使用use admin命令进入到admin数据中 3.使用db.auth( 'root'’ ,'root' )命令登录数据库 4.使用use todo命令切换到todo数据库 5.使用db.createUser({user: 'itcast' , pwd: "itcast'’ , roles: \[ 'readWrite' \]})创建todo数据库账号 6.使用exit命令 退出mongodo数据库 ![](https://img.kancloud.cn/ef/72/ef72ceb584f52b27870b6a726d832337_1385x577.png) 展示任务列表 1.准备一个放置任务列表的数组 2.向服务器端发送请求,获取已存在的任务 3.将已存在的任务存储在任务列表数组中 4.通过模板引擎将任务列表数组中的任务显示在页面中 ~~~ 引入jq框架 和webjs ~~~ ![](https://img.kancloud.cn/45/df/45df6c2c17714c74bac80f037f3e8901_828x87.png) ![](https://img.kancloud.cn/ee/8a/ee8a913b9c4d766f60f30ed9e03ffd6b_677x881.png) 添加任务 1.为文本框绑定键盘抬起事件,在事件处理函数中判断当前用户敲击的是否是回车键 2.当用户敲击回车键的时候,判断用户在文本框中是否输入了任务名称 3.向服务器端发送请求,将用户输入的任务名称添加到数据库中,同时将任务添加到任务数组中 4.通过模板引擎将任务列表数组中的任务显示在页面中 ![](https://img.kancloud.cn/50/3b/503b8e43017f018536824f32801ac333_1708x977.png) 删除任务 1.为删除按钮添加点击事件 2.在事件处理函数中获取到要删任务的id 3.向服务器端发送请求,根据ID删除任务,同时将任务数组中的相同任务删除 4.通过模板引擎将任务列表数组中的任务重新显示在页面中 ![](https://img.kancloud.cn/e2/88/e28868167a98891816027b6644072819_844x632.png) 更改任务状态 1.为任务复选框添加onchange事件 2.在事件处理函数中获取复选框是否选中 3.向服务器端发送请求,将当前复选框的是否选中状态提交到服务器端 4.将任务状态同时也更新到任务列表数组中 5.通过模板引擎将任务列表数组中的任务重新显示在页面中并且根据任务是否完成为li元素添加completed类名 ![](https://img.kancloud.cn/95/f3/95f33ecddbefbbf8703143a830155307_1112x756.png) 修改任务名称 1.为任务名称外层的label标签添加双击事件, 同时为当前任务外层的1i标签添加editing类名,开启编辑状态 2.将任务名称显示在文本框中并让文本框获取焦点 3.当文本框离开焦点时,将用户在文本框中输入值提交到服务器端,并且将最新的任务名称更新到任务列表数组中 4.使用模板弓|擎重新渲染页面中的任务列表。 ![](https://img.kancloud.cn/72/3d/723df2242c87cc65fcef9e3c48e74809_1060x738.png) 计算未完成任务数量 1.准备-个用于存储未完成任务数量的变量 2.将未完成任务从任务数组中过滤出来 3.将过滤结果数组的长度赋值给任务数量变量 4.将结果更新到页面中 ![](https://img.kancloud.cn/ae/5e/ae5e573d7f2dcf83a889c38cc606f35c_1313x827.png)