vue.js 的 v-for 条件?

abu*_*abu 6 vuejs2 v-for

我想避免image以下代码中的值。image是 的关键property。我怎样才能做到这一点 ?

<tbody>
    <tr v-for="obj in data" :id="obj.id">
       <td v-for="property in obj">{{property}}</td>
    </tr>
</tbody>
Run Code Online (Sandbox Code Playgroud)

Hal*_*Hal 9

接受的答案是一种反模式,因为您不应该像 Thomas van Broekhoven 指出的那样在 VueJs 2+ 中的同一个节点上混合使用v-forv-if。相反,您可以将过滤器链接到对象上。这是一个使用 ES6 箭头函数的示例,它应该* 工作。

  • 未经测试的语法。在我的手机上打字,在床上。
<tbody>
    <tr v-for="obj in data" :id="obj.id">
       <td v-for="property in obj.filter(property => property !== 'image')">{{property}}</td>
    </tr>
</tbody>
Run Code Online (Sandbox Code Playgroud)


Ben*_*Ben 5

让我们检查一下:v-for使用 Objectv-for使用v-if.

<td v-for="(value, property) in obj" v-if="property!='image'">
    {{value}}
</td>
Run Code Online (Sandbox Code Playgroud)

  • 请注意,不建议同时使用 v-if 和 v-for。详细信息请参阅样式指南。(https://vuejs.org/v2/guide/list.html#v-for-with-v-if) (11认同)