使用Vue完成一个checklist
创建一个项目
1 | vue init webpack-simple vuedemo01 |

除了Use sass?选择N,其他默认
根据提示安装依赖并运行
1 | cd vuedemo01 |
npm install可以使用淘宝的镜像cnpm

使用编辑器打开该文件夹

需求
差不多是要完成以下界面

编码
去除App.vue多余部分,剩下如下部分即可
1 | <template> |

html部分
包含
- 一个输入框,
- 两个h2标签的文字
- n个无序的项
- 删除按钮
1 | <template> |

script数据部分
每次输入到输入框的内容需要一个变量来接收
存放的每个内容,以及与其对应的状态
1 | <script> |
为了把数据渲染到页面上,需要修改html部分的li中的内容
使用v-for来循环输出list的索引和内容
使用v-if来判断:
- 复选框没选中的内容会显示在
进行中 - 复选框选中的内容会显示在
已完成
1 | <ul> |
1 | <ul> |
函数部分
在说函数部分前,还剩下顶部的输入框还没有增加方法的入口
1 | <input type="text" v-model="todo" @keydown='doAdd($event)'> |
v-model表明它接收的内容会修改todo
@keydown对应键盘操作
在date部分之后增加methods

1 | import storage from "./model/storage.js"; |
这里封装了一个storage.js,用于保存数据至本地,这样下次打开页面还是会恢复至上次关闭的时候。

1 | import { loadavg } from "os"; |
全代码
1 | <template> |