У меня есть этот метод, который устанавливает структуру данных в моем attributes
объекте.
setAttributes(data) {
const attr = data.attributes;
attr.forEach(attribute => {
attribute.attributes.forEach(item => {
if (!this.attributes[attribute.name]) {
this.$set(this.attributes, attribute.name, {
name: attribute.name,
attributes: []
});
}
if (!this.attributes[attribute.name].attributes[item.id]) {
this.$set(this.attributes[attribute.name].attributes, item.id, {
name: item.name.value,
attributes: []
});
}
this.attributes[attribute.name].attributes[item.id].attributes.push(item);
});
});
}
Все работает, кроме последней строки this.attributes[attribute.name].attributes[item.id].attributes.push(item);
, где Vue не обнаруживает изменение данных, а массив все еще пуст.
Насколько мне известно, push()
должен заставить Vue обнаруживать изменение данных или это не так?