javascript - Vuejs 列表循环 - 根据每个子项的属性添加类

标签 javascript drop-down-menu vuejs2

我有一个从 API 获取的数据列表。我想检查列表中的每个元素是否有子元素/子元素,然后根据决策添加一个类。

我的尝试:

<template>
    ...
    <ul>
        <li v-for="nav in navigation" :class="{conditionalClass: isNavDropdown(nav)}">xxxx</li>
    </ul>
    ...
</template>

然后在方法中我有这个函数:

<script>
    ...
    methods: {
        isNavDropdown: function (nav) {
            return nav.children[0] !== null
        }
    }
    ...
</script>

这行不通。在控制台中打印 nav 给了我一个奇怪的对象,其中包含 reactiveGetter()reactiveSetter() (其中多个)等元素。

用vuejs可以实现这样的事情吗?或者我需要使用 javascript 技巧来实现这一点吗?

最佳答案

您可以在 HTML 本身中进行检查,无需单独的方法。

...
<li v-for="nav in navigation" :class="{conditionalClass: nav.children}">xxxx</li>
...

关于javascript - Vuejs 列表循环 - 根据每个子项的属性添加类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42535682/

相关文章:

javascript - 如何忽略嵌套 <a> 的 jQuery Accordion 点击事件

javascript - 滚动时如何使用(moz/webkit/etc)缩放图像

html - Firefox 中的下拉菜单中断 - 表格单元格出错?

vuejs2 - vue-multiselect 不加载 CSS

javascript - 使用Jquery删除div之间的div

javascript - 为什么 wordpress 主题的 css 和 js 文件加载在 head 标签之后?

jquery - 嵌套下拉菜单 css jquery

drop-down-menu - 在tinymce中添加自定义下拉列表

javascript - 使用其他组件中的按钮显示对话框

vue.js - 如何根据 Vue.js 的索引更改呈现列表项的类?