0👍
Got it working with this code:
setAttributes(data) {
const attr = data.attributes;
attr.forEach(attribute => {
const name = attribute.name
.toLowerCase()
.replace(/[^a-z0-9 -]/g, '')
.replace(/\s+/g, '_');
if (!this.attributes[name]) {
this.$set(this.attributes, name, {
name: attribute.name,
attributes: {}
});
}
attribute.attributes.forEach(item => {
if (!this.attributes[name].attributes[item.id]) {
this.$set(this.attributes[name].attributes, item.id, {
name: item.name.value,
attributes: []
});
}
this.attributes[name].attributes[item.id].attributes.push(item);
});
});
}
The problem was that attributes
was set as an array and not an object in the first if statement.
- [Vuejs]-Oction-vue in nuxt: unexpected identifier
- [Vuejs]-Vue js Applications throws errors (Id not Found)
Source:stackexchange.com