Vue - Передача реквизита в v-for - PullRequest
0 голосов
/ 21 июня 2020

У меня есть родительский компонент, в котором есть переменная, которую мне нужно передать всем дочерним компонентам. Что-то вроде:

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

Я передаю этот большой globalvars объект всем экземплярам Child компонента в моем коде. Реплицирует ли при этом globalvars в памяти каждый раз, когда он передается экземпляру Child? Просто интересно, как Vue справляется с такой ситуацией.

1 Ответ

1 голос
/ 21 июня 2020

Аргументы передаются по ссылке, поэтому данные не будут дублироваться. Однако, если какой-либо из дочерних элементов изменяет состояние этого объекта, поскольку все компоненты используют один и тот же объект, это изменение также повлияет на дочерние компоненты. Я предполагаю, что это ожидается?

Однако я лично нахожу globalvars немного расплывчатым, и в зависимости от его использования есть несколько лучших вариантов - может быть, глобальный плагин, экземпляр vuex или даже простой предоставить / ввести?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...