vessels
@vessels
Ни черта не понял, но очень интересно!

Как добавить свойство всем элементам массива?

У меня есть код, там я с помощью find хочу добавить к каждому объекту значение когда компонент смонтирован. Но увы.
Можете подсказать как правильно добавлять значения к каждому объекту перед или после монтирования компонента?
  • Вопрос задан
  • 836 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Какой find, вы чего? Был массив, и остаться должен массив. Используйте map:

.map(n => ({ ...n, actv: false }))

или

.map(n => (n.actv = false, n))

или после монтирования компонента?

Лучше бы конечно так не делать, но если вдруг...

Чтобы реактивность заработала, надо будет или использовать $set:

mounted() {
  this.postsData.forEach(n => this.$set(n, 'actv', false));
},

или создать новый массив:

mounted() {
  this.postsData = this.postsData.map(n => ({ ...n, actv: false }));
},
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы