Как вырезать сохранить и вставить массив при изменении условия вычисляемого метода computed?
Я новичок во VUE и мне нужна ваша помощь. По условию у меня есть некий массив данных, состоящий из объектов. Мне нужно отслеживать состояние условия при изменении которого массив должен быть полностью удален и сохранен. А при удовлетворяющих условиях этот массив нужно вернуть обратно. Я делал это в методе computed, но у меня ничего не получилось, подскажите как это можно реализовать? Вот пример из кода.
computed: {
PURCHASED_EQUIPMENT() {
let items = []
if (this.$parent.project.UF_INDUSTRY_ID !== 21) {
[...items] = this.project.PURCHASED_EQUIPMENT.items.splice(0)
}
else if (this.$parent.project.UF_INDUSTRY_ID === 21) {
this.project.PURCHASED_EQUIPMENT.items.push(items)
}
Ответы (1 шт):
Так как в условиях задачи небыло ничего, про то что массив может наполнятся после того как его почистили, то проще всего сделать вот так
data() {
return {
arr: [
{ foo: true, boo: false },
{ foo: false, boo: true },
{ foo: true, boo: false },
],
condition: false,
};
},
computed: {
arrResult: function () {
if (this.condition) return this.arr;
return [];
},
},
Оригинальный массив вообще не трогаем и просто выдаем в arrResult в зависимости от condition оригинальный или пустой массив.