如果一个.vue文件中接收到的ctrlShopCart参数,如何在 service 层使用?
来源:16-25 作业:筛选出版社实现复杂图书搜索

慕粉3946981
2023-09-07
.vue文件中接收到父组件传递的 props
// 获取父组件传递的 ctrlShopCart 参数
const { ctrlShopCart } = defineProps<{
ctrlShopCart: (isShow: boolean) => void
}>()
这个vue文件的逻辑写在一个 service 的 ts 文件中,且该ts文件中部分函数依赖 ctrlShopCart 参数,有没有什么办法解决?(不想把ts文件中依赖的ctrlShopCart函数的内容移到这个vue文件来,因为在ts文件中依赖ctrlShopCart参数的函数还使用了ts文件中其他的函数,如果为了解决这个问题而移动太多函数进来有些乱)
写回答
1回答
-
状态维持有两种,方式1:跨页面或跨业务一般用 pinia 来保持。方式2:如果是父子组件,一般用defineProps 传递式解决 ,defineProps 是 vue3.x 提供的父组件和一个或者个子组件之间通讯的方式,,如果用这种父子传递模式和i条件判断组件隐藏或显示,还要移到 service ,编码和维护会更麻烦,所以本章写法已经是最优的写法了。 如果想放弃vue 提供的这种defineProps 父子传递模式,可以参照本课程第19章 19-11 中用到的pinia 传参模式。但其实都可以。
012023-09-07
相似问题