Vue学习-基础-尚硅谷vue-todolist学习-组件开发入门
1,编写静态组件 :抽取组件,使用组件实现静态页面效果
这里组件中的 component style 部分 使用的静态页面粘贴过来的 ,
这里的MyItem 是 MyList的子组件 。
这是在组件确定后,将组件导入到App.vue 里面的代码,导入的组件都是App.vue的子组件,所以,item组件在List那个组件中导入
2,展示动态数据 有一堆数据,就用数组存,数据属性多就存入对象
2.1 ,数据的类型,名称
2.2 数据保存在哪个组件
我们在List组件里面的data 加入数据
然后要将数据遍历,并传到item,然后进行显示
在list的item标签里面,使用的是v-for进行循环遍历,将遍历的数据对象存作todoObj,将todoObj里面的id作为key值,
这里就是item组件里面使用props接收
然后在这里用插值语法进行显示,,然后显示前面的复选框里面是否选中,
以上就是将input中输入获取到了后包装生成一个todo对象,然后需要给他加入到 list 的数组里面,这里就是涉及到
兄弟组件之间的数据传递: 有很多方法,这里用最基础的,以后学习了在补充
实现问题:在header组件里面输入后,已经将输入数据包装成了一个todo对象·要将对象给他传递到list组件里面进行显示
方法一: 最基础 在header组件里面把对象传到app组件,再从app组件传递到list组件
- 在app组件里面声明了一个方法,数据也放在app组件
- 通过模板组件把数据和方法传递到对应的组件
- 在对应的模板里面通过 props 配置项进行对应的接收在header组件里接收 addTodo方法
在 list 数组里面接收数据 todos数组
- 在myheader组件里面,运用接收到的方法 ,方法的返回值就到了,todos数组里面,就在数组中添加了对象
- 在list数组里面进行遍历显示
4,实现勾选 (item到app之间的组件通信,从孙子主键到爷爷组件) 补充知识点: vue检测props的更改,是很浅层次的。
item =》 list =》 app
实现勾选,就是将todos对象里面done值进行操作。先给他添加事件,click,或者change,然后有一个函数方法,需要对done值进行操作,done值数据是在app组件里面,,,数据在哪,他的操作也在哪,所以在app组件里面定义函数取反,再组件传递到item组件,通过事件来执行函数,实现对done值得操作,。也有v-modle可以实现,但是有点原则问题,这不是我目前考虑的问题。
5,实现删除。
数据是在app组件里面,所以一般操作跟数据在一个组件里面。,定义了一个方法,.filter方法是过滤后创建新的数组。。
这个方法被item组件需要,并被调用。。 方法函数先被传递到list,再到item组件
6,实现footer组件的底层逻辑
把数据从app传递到footer组件,接收后,全部就是数组的长度,已完成就是done等于true的长度。
子组件调用函数,传参的形式