@HaiZenBerGG

Vue вычислить и вписать новое свойство в обьект(this.$set is not a function)?

Привет, вопрос следующий: есть массив обьектов который нужно нарисовать списком
но прежде чем рисовать - нужно расчитать новое свойство и вписать в обьект
делаюэто так
computed: {
    calculatedTables:function () {
      for (let table in this.tables) {
        this.$set(table, 'datetime',555)
        console.log(table)
      }
}

в консоли браузера получаю ошибку
(in promise) TypeError: this.$set is not a function

при вставлении через Object.assign все норм кроме того, что свойство не рендерится
что делать?
  • Вопрос задан
  • 252 просмотра
Пригласить эксперта
Ответы на вопрос 2
IceRD
@IceRD
computed - должен выполнять только вычисление и возвращать результат, он не должен мутировать данные.
Для изменения данных используйте methods или watch
Ответ написан
Комментировать
@InfernoElegy
Мутировать в computed нельзя
Если тебе надо добавить поле объекта, можно использовать .map

return this.tables.map(table => ({ ...table, datetime: 555 }))
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы