父组件不通过事件监听子组件变化并取值
背景介绍:
最近在做一个版本数据管理系统,父组件中计算版本总分,需要从子组件中获取交付物得分、抽测得分(及验收得分)。之前学习vue的时候子父通信一般使用emit进行监听和传值,现在需求不需要添加emit事件、实现实时、动态的获取子组件的值。
一、子组件中添加监听
首先在子组件中监听关联输入框的值,用钩子函数beforeUpdate,在重新渲染之前将值提交到store。
注意:不能用updated,否则改变数据会导致无限循环
二、将数据传到store
在store中用数组装载子组件的值,这里考虑到两点:1、无法确定有多少个子组件的值;2、可以替换元素。
对应两点考虑:1、已知有2-3个需求,因此我设定数组有3个元素。2、数组可以用splice方法进行元素替换
三、getters返回值
这里需要返回数组所有元素的合,即版本总分