体会组件的创建 然后再去全文注释 (自学、调bug能力、学会有自己的想法去解决问题)
1、
请求接口的顺序
2、请求的数据
3、循环商品 在Good.vue页面里面加prop属性
要循环谁就放在谁那里
结果展示:
4、理解 (父传子单个)还有价格还有多选
5、理解 good渲染(关于传递的数据是对象好还是单个的属性好,答案是单个的,看下面的例子)
Good.vue子组件里面任务(接受数据,渲染,但是也要传给父亲的)
6、重点修改功能(子传父单个勾选)的godd_state状态(因为:checked='status'是prop值不能改变,所以引出子传父 )
一:首先
增加id属性
父文件中也要传给子id (:id = item.id),否则就会报以下的错误
二:分析过程思路图
id通过this就可以拿到因为前面刚写了id属性从父那里拿到了
三:
子组件,组合成一个对象emit传过去
emit叫做自定义事件
父组件接受方法
四:单个的选拿到两个id,还有状态数据,并不能改变什么,需要功能
some() 方法会依次执行数组的每个元素:
- 如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
- 如果没有满足条件的元素,则返回false。
every() 方法使用指定函数检测数组中的所有元素:
- 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
- 如果所有元素都满足条件,则返回 true。
7、(全选 父传子)父的状态goods_state改变传子
关于下面footer.vue的全选因为没有用相关的css组件相结合,所以我们用这个js的数组去判断
写在computed计算属性
测试这个计算对不对,还没有传给子文件做真正的改变,计算属性用的时候是方法但是我们在使用的时候是属性,如下所示例子:
<div>{{fullState}}</div>
全选goods_state状态好了,需要传给footer.vue文件
思路:父亲这里有数据→子创建属性拿到就好
8、(全选 子传父)子的框框点击全选的状态也要传过去
思路:子监听→emit→父接受→父方法改变
有:aaa = "s"就是父传子 子点击给父亲@,还有其他的情况吗,比如鼠标覆盖,刷新?
9、计算商品的总价格