Vue-在v-for中传递道具

时间:2020-06-21 08:31:35

标签: vue.js vue-component

我有一个父组件,其中有一个变量需要传递给所有子组件。像这样:

<div v-for="item in items">
   <Child :packet="{item: item, globalvars: globalvars }" />
</div>

我正在将这个大的globalvars对象传递给代码中Child组件的所有实例。这样做是否每次将globalvars传递到Child实例时在内存中复制它们?只是想知道Vue如何处理这种情况。

1 个答案:

答案 0 :(得分:1)

参数是通过引用传递的,因此不会重复数据。但是,如果任何子级更改了该对象的状态,则由于所有组件共享同一对象,因此此更改还将影响同级组件。我认为这是预期的吗?

但是,我个人发现globalvars有点模糊,并且根据其用途有很多更好的设计-可能是全局插件,vuex实例,甚至是简单的提供/注入?