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值,

:todo="todoObj",将数据传到item里面,并将变量命名todo,

 

 这里就是item组件里面使用props接收

 

 然后在这里用插值语法进行显示,,然后显示前面的复选框里面是否选中,

  在vue里面如何让一个标签动态拥有某个属性,v-bind,引号后面的是表达式了 
 
3,实现添加todo栏
 

 

 以上就是将input中输入获取到了后包装生成一个todo对象,然后需要给他加入到 list  的数组里面,这里就是涉及到

 

兄弟组件之间的数据传递: 有很多方法,这里用最基础的,以后学习了在补充

实现问题:在header组件里面输入后,已经将输入数据包装成了一个todo对象·要将对象给他传递到list组件里面进行显示

方法一: 最基础  在header组件里面把对象传到app组件,再从app组件传递到list组件

  1. 在app组件里面声明了一个方法,数据也放在app组件
  2. 通过模板组件把数据和方法传递到对应的组件
  3. 在对应的模板里面通过 props 配置项进行对应的接收在header组件里接收 addTodo方法

     在  list   数组里面接收数据    todos数组

  4. 在myheader组件里面,运用接收到的方法 ,方法的返回值就到了,todos数组里面,就在数组中添加了对象 
  5. 在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的长度。

 

 

        子组件调用函数,传参的形式

 

 

 

 
posted @ 2023-01-04 17:34  洪茗  阅读(208)  评论(0编辑  收藏  举报