I am sending an article->tags array of objects to my Vue component like so:
<article-form
:edit-data-tags="{{ $article->tags }}"
></article-form>
I get this array:
[ 0: { id:'1', name:'mytag' } ... ]
Now in my component, I want to get to the name field so I can store it and pass it onwards. How can i do this?
this post has the same problem, but when i try this solution:
created: function () {
for (let tag in this.editDataTags) {
console.log(tag.name)
}
}
I get an undefined.
Advertisement
Answer
for...in loops are for objects, but you have an array. Try a for...of loop:
for (let tag of this.editDataTags) {
console.log(tag.name)
}
or forEach:
this.editDataTags.forEach(tag => {
console.log(tag.name);
});
or for loop:
for (let i=0; i < this.editDataTags.length; i++) {
console.log(this.editDataTags[i].name)
}