需要实现界面截图:

难点分析:sAllCheck必须定义为计算属性

1.想到问题:

一旦写一个组件,需要接收哪些属性??

因为只有属性确定了,标签才好写

todos属性可以确定三个方面的显示

2.做交互("删除已完成任务":接收一个函数)

3.在App.vue中改标签

传:todos和两个函数

4.在methods中定义两个函数

  //删除全部已完成任务,要不要参数?怎样判断?
//判断做这个事情有没有条件,假如我不传参数,能不能搞定
//说白了 {title:'吃饭',complete:false}{title:'睡觉',complete:true},{title:'coding',complete:false}
//从中找出为true的干掉
//所以需要用到过滤,留下false
deleteCcompleteTodos(){
//过滤产生的新的数组要赋值给以前的this.todos=
this.todos=this.todos.filter(todo=>!todo.complete)
},
//全选/全不选,要把所有的complete值要改成true/false
//你要告诉我是全选还是全不选
//遍历项目中所有的todos,需要更改complete的状态
selectAllTodos(check){
this.todos.forEach(todo=>todo.complete=check)
}
},
5.input 输入框,v-model="isAllCheck"

故isAllCheck必须定义为计算属性,而且必须有get,set方法

get确定我当前是true还是false,看completeSize=?todos.length,完成数量等于总数量就应该全选

set(value){

}

点一下勾选,接收一个value,接收的value为boolean值

6.

===================================================================================================================================

7.启动项目,项目报错:

解决方法,TodoFooter.vue中第27行todos未定义,故加上this.

成功截图

出现新问题,当全部删除后,还会勾选:

为什么会勾选?

this.completeSize===this.todos.length,这个是勾选条件
说明条件不够,需要添加条件

解决方法:

最新文章

  1. Java JDBC高级特性
  2. linux 开机启动过程详解
  3. html5本地存储的解决
  4. 【原创】纯干货,Spring-data-jpa详解,全方位介绍。
  5. [转]分布式文件系统FastDFS架构剖析
  6. 算法导论-动态规划(最长公共子序列问题LCS)-C++实现
  7. linq中的contains条件
  8. ROW_NUMBER () 与 PARTITION组合拳
  9. iOS学习之数据请求
  10. HTML - Textarea - 空格的问题解决方式
  11. ldap理论属于概念缩略词
  12. android EncodingUtils
  13. [Spark] - SparkCore程序优化总结
  14. CSS Why
  15. flume组件汇总 source、sink、channel
  16. kettle的资源库创建及修改密码
  17. Ubuntu 16.04安装MySQL及遇到的问题解决方案
  18. Windows10安装MySQL5.6.24
  19. Hive中的数据倾斜
  20. nodejs npm包管理常用命令介绍

热门文章

  1. Windows和Linux简单命令的总结
  2. [Flutter] 实现Flutter App内更新
  3. 92.vue---新手从本地项目开发到服务器线上运行爬坑。
  4. android中的webview白屏问题
  5. Python 常用语句
  6. httpPost请求用java代码实现的方法
  7. MySQL Table--独立表空间
  8. CentOS7安装rpm包时依赖检测失败,加上--nodeps --force
  9. Intel重大漏洞之Meltdown和Spectre
  10. SaltStack--快速入门