Vue.js Vue-v-for中的传球道具

Vue.js Vue-v-for中的传球道具,vue.js,vue-component,Vue.js,Vue Component,我有一个父组件,其中有一个变量需要传递给所有子组件。比如: <div v-for="item in items"> <Child :packet="{item: item, globalvars: globalvars }" /> </div> 我将这个大的globalvars对象传递给代码中所有子组件的实例。这样做是否会在每次传递给子实例时复制内存中的globalvars?只是想知道Vue如何处理这种情况。参数

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

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

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

参数是通过引用传递的,所以数据不会重复。但是,如果任何子对象改变了此对象的状态,因为所有组件共享同一个对象,此更改也将影响同级组件。我想这是意料之中的事吧


然而,我个人觉得globalvars有点模糊,根据其用途,有许多更好的设计——可能是全局插件、vuex实例,甚至是简单的提供/注入?

这就像用相同的输入多次调用函数一样。如果它是一个值类型,它将通过值传递,但无论如何不会占用太多空间,否则它将通过引用传递,也不会占用太多空间。