【发布时间】:2021-09-17 06:21:53
【问题描述】:
大家好,我的代码有问题。我有一个主要组件,其中有不同的子组件,如下所示:
<template>
<div id="container">
<div v-if=condition>
Component1
</div>
<div v-if=condition>
Component2
</div>
<div v-if=condition>
Component3
</div>
<div v-if=condition>
Component 4
</div>
</div>
</template>
v-if 是因为我只想在前端逐步渲染一个组件。所以当我启动我的应用程序时,我只显示第一个组件,当我单击下一步时,我显示第二个组件,依此类推。
现在我想要一个页面指示器,所以我必须计算“容器”的子 div 标签。为此,我已经尝试了以下选项:
-
var count = $("#container div").length;//返回 0 -
var count2 = $("#container").children().length;//返回 2
结果是错误的,因为真正的结果是 4,因为有 4 个子 div。我认为问题在于,其他组件并未全部呈现,但我该如何解决这个问题?
【问题讨论】:
-
向 div 添加数据属性以指示页面并从元素的数据集属性中检索该页面。 ``简单地通过改变数组或类似对象的数组来计算差异你在这里使用 Vue 吗?@dave 是的,没错试试这个:Object.values($("#container").childNodes).filter(x => x.nodeName === "DIV").length
标签: javascript html css vue.js