仿饿了么项目,右侧商品组件动画,以及和购物车组件的联动效果,小球掉落效果
要实现这个组件的效果,以及和底部购物车联动的效果 这个组件能获取父组件foods上每个商品的数据,而且点击增加可以增加,点击删除可以删除 新建一个组件叫做cartcontrol,因为每一道菜都应该有这个组件,所以在goods父组件循环遍历goods出的food中把每一项food传递到子组件中去 在这个组件中接收food,是一个对象 写好这个组件的骨架,并且给他添加点击事件,并根据是商品的数量来决定是否显示 编写这个业务组件的逻辑方法还是比较简单的,但是在这其中踩了两个坑 一个是food.count外部传递进来的food中并没有这个字段,所以引用了全局vue中的接口set方法,给其新增一个count字段 另一个是外部的food因为也引用了better-scroll,要使用点击事件要在better-scroll初始化构造函数时候设置click为true 到这里最基本的业务逻辑已经over了,接下来给这个组件增加一些动画,让其不那么生硬 暂时的动画方案是点击增加按钮的时候左侧减号按钮滚动至右边,因为要做这个效果所以得把左边组件给拆分开来 外部做平移动画,内部做滚动动画,在外面给他套上一个transition层来添加过度动画,编写的less如下 到这里就完成了动画的编写,去浏览器上测试一下效果 之前我们通过vue.set方法给商品添加了count属性,因此改变的food数据传递到了外部组件