vue组件复用的问题

A组件需要放到B,C,D组件中复用,但是A组件中的数据需要根据放到不同的组件显示不同的数据。请问应该怎么实现。

阅读 6.8k
4 个回答
//在componentA 中接收传入的 my-data 不就行了
<componentA :my-data="父级传入的数据" :my-data2="父级传入的数据2"></componentA>


<componentB >
    <componentA :my-data="父级B传入的数据"></componentA>
</componentB>


<componentC >
    <componentA :my-data="父级C传入的数据"></componentA>
</componentC>
 
.... 

组件使用的时候带上数据,A中不请求数据,在BCD中请求,A直接使用。

如果在A中不请求数据,这样岂不是 在B,C,D 都需要获取数据,然后传递到子组件A中?这样B、C、D不就写了重复的代码么?

与此同时,如果A组件有个收藏按钮,那么点击此按钮发出异步请求,同时显示收藏结果,需要都转发到上层的B,C,D中,通过store再传回到A中显示?这样不也是在B、C、D中写了重复的代码么?

推荐问题