首页 > 解决方案 > 在 Vue 中从 Laravel 传递数组对象属性

问题描述

我正在向article->tags我的 Vue 组件发送一组对象,如下所示:

<article-form
    :edit-data-tags="{{ $article->tags }}"
></article-form>

我得到这个数组:

[  0: { id:'1', name:'mytag' } ... ]

现在在我的组件中,我想进入名称字段,以便我可以存储它并继续传递它。我怎样才能做到这一点?

这篇文章有同样的问题,但是当我尝试这个解决方案时:

created: function () {
   for (let tag in this.editDataTags) {
      console.log(tag.name)
   }
}

我得到一个未定义的。

标签: javascriptlaravelvue.jsvuejs2vue-component

解决方案


for...in循环用于对象,但您有一个数组。尝试for...of循环:

for (let tag of this.editDataTags) {
   console.log(tag.name)
}

forEach

this.editDataTags.forEach(tag => {
   console.log(tag.name);
});

for循环:

for (let i=0; i < this.editDataTags.length; i++) {
   console.log(this.editDataTags[i].name)
}

推荐阅读