三个组件之间相互传值

214 阅读1分钟

父组件中引入了A组件和B组件,A组件和B组件为兄弟组件。在A组件调用接口获取data,父组件中使用data作为参数获取tabledata,将tabledata传给B组件渲染到页面。

如下图所示:

过程图.jpg

在B组件中对tabledata中的数据进行了删除操作,此时需要子传父,通知父组件刷新页面,使用this.$emit调用search函数通知父组件重新获取tabledata,将tabledata重新渲染,页面即可刷新。但是此时会报错。

报错如下图:

image.png

这个dimSettings是A组件传给父组件的data中的数据,在B组件调用父组件的search函数时,没有给这个函数传data,所以会报错,说找不到这个属性。

解决方法是:在search函数中将A组件传过来的data使用一个变量进行保存,并且加一个判断if(data) this.data=data,如果data存在,才将data保存。