vue递归组件的状态被共享

用递归组件渲染目录时,出现打开一个目录所有目录一起打开了的情况,感觉应该是这些组件都共享了一组状态,请问如何能让递归出的每组内容都有独立的状态?

回复
阅读 1.7k
1 个回答

找到原因了,因为v-for循环时每组都共用了一个状态,和递不递归没关系。我也是一出现递归就有点蒙了,这么明显的问题居然找了半天。

解决办法就是把循环体中的内容单独写成一个组件,要嵌套内容的位置给出插槽,再在递归组件中使用那个组件进行渲染

宣传栏