嵌套的对象数组和v-for

mdo*_*nko 22 vue.js

好吧,这个问题让我感到难过......在嵌套的for循环数据出现时遇到一些麻烦:

<div v-if = "private.folders!=null" v-for="folder in private.folders">
{{folder.name}}
    <div v-for="check in folder.checks">
        {{check.name}}
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用的数据如下所示:

folders [Array]
-object [this is a single 'folder']
--name
--checks [array] [each folder has this array]
---[object] [the actual 'check' object]
----[name]
Run Code Online (Sandbox Code Playgroud)

外循环工作得很好,并返回我期望的数据.但是,check.name不返回任何内容,并且控制台中没有错误.是否可以像这样做嵌套的for循环?

cyr*_*uce 35

我测试了你的模板,它是有效的.

 new Vue({
  el: '#sample',
  data: {
    private: {
      folders : [{
          name : 'folder1',
          checks : [
            { name : 'check1.1' },
            { name : 'check1.2' }
          ]
        },
        {
          name : 'folder2',
          checks : [
            { name : 'check2.1' },
            { name : 'check2.2' }
          ]
        }
      ]
    }
  }
})
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdn.jsdelivr.net/vue/latest/vue.js"></script>
<div id="sample">
  <div v-if = "private.folders!=null" v-for="folder in private.folders">
  {{folder.name}}
      <div v-for="check in folder.checks">
          {{check.name}}
      </div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

  • 避免在同一个元素中使用 v-for 和 v-if (3认同)
  • 它对我不起作用,尽管我使用了 table 而不是 div (2认同)