在vue中组件复用传值

父组件v-for循环了子组件,父组件传了参数给子组件,每个子组件通过参数计算得到一个值,我想把这几个子组件的值传给父组件,父组件在计算一个总和,我使用$emit传值给父组件,最后一个子组件会覆盖前面传过来的数据

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

方法一:父组件定义一个变量例如数组或对象,存储每个子组件传值结果,再计算总值就可以了。

方法二:利用vuex全局状态管理,存储所有子组件结果然后求值。

$emit传值时变量名别一样,要是一样肯定会覆盖

你v-for循环会有个key值,然后利用key值吧拼接一个变量,比如val+'key'(val1,val2....)。这样不太优雅。或者父组件接收时,用一个数组接收。接到一个push进去。最后循环遍历计算

问题:

父组件在计算一个总和,我使用$emit传值给父组件,最后一个子组件会覆盖前面传过来的数据。
方案:

使用中间值存储会不会好一点,比如vuex,或者中间变量,或者 storage ,存储计算。