目录
gitee仓库地址:
https://gitee.com/CMD-UROOT/my_project/commits/master
大家根据上传历史进行查找你需要的代码
SpuForm业务的分析
从下图来看,点击修改按钮进入该页面后,需要发四个请求
---品牌的数据需要发请求的 http://localhost:9529/dev-api/admin/product/baseTrademark/getTrademarkList
---获取平台中全部的销售属性(3个) http://localhost:9529/dev-api/admin/product/baseSaleAttrList
---获取某一个SPU信息 Request URL: http://localhost:9529/dev-api/admin/product/getSpuById/5092
--获取SPU图片 http://localhost:9529/dev-api/admin/product/spuImageList/5092
取消按钮返回的业务
我们点击取消按钮需要回到原来的页面
我们知道是子组件要给父组件传递数据,那么我们需要通过自定义事件来做
我们首先在子组件中:
在views/product/Spu/SpuForm/index.vue中:
在父组件中:
在views/product/Spu/index.vue中:
在书写我们写得changeScene的回调
打印结果:可以拿到子组件传递过来的值
然后在methods中替换数据,切换场景
现在当我们点击取消按钮的时候就可返回原来的页面了,该功能实现
SpuForm子组件发请求地方分析
不能书写在mounted里面:
因为咱们刚才看了一下已经完成的项目,每一次显示SpuForm子组件的时候,都会发四个请求,
而我们为什么不能放在子组件的mounted里面,因为v-show只是控制SpuForm子组件显示与隐藏,
这个子组件并没有卸载(只是显示或者隐藏),导致mounted只能执行一次。
所以我们的四个接口不能写在mounted当中
我们可以每次点击修改spu按钮的时候,让它的子组件发请求
那么我们需要思考,我们现在是在父组件当中,我们如何拿到子组件,而且让子组件去调用自己的方法
其实可以这样解决,我们现在是在父组件,在父组件当中是可以获取到子组件的,那么你就可以使用子组件的属性和方法,每次点击休干spu按钮的时候让子组件发请求就可以了
在父组件中:
在views/product/Spu/index.vue中:
在子组件中:
在views/product/Spu/SpuForm/index.vue中:
打印结果:
可以获取到我们点击修改的spu按钮后的id和属性