【发布时间】:2021-11-25 12:03:07
【问题描述】:
嘿,我正在使用 vuejs 3 构建一个 spa 应用程序,但我遇到了 v-if 和 v-else 无法按预期工作
<div v-if="this.isScroll" @click = "toggleIsScroll" class ="spinner-container ">
<i ref = "icon" class = "bi bi-pause-fill icon"> </i>
<div ref="spinner" class ="spinner-border text-dark loader "> </div>
</div>
<div v-else @click = "toggleIsScroll" class ="spinner-container ">
<i ref = "icon" class = "bi bi-play-fill icon"> </i>
<div ref="spinner" class ="spinner-border text-dark loader visually-hidden"> </div>
</div>
文档说 v-else 需要紧跟在 v-if 之后,但我不知道如果 v-if 里面有孩子,它是否有效 我试图在单独的组件中创建 v-if 部分和 v-else 部分,并在这些组件上使用 v-if 和 v-else,如下所示
<CustomComponent v-if="this.IsScroll"/>
<SecondCustomComponent v-else/>
但它总是渲染两个组件,所以我应该怎么做呢? 即使 v-if 元素在 v-else 之前有子元素,你能在后面的 v-if 元素上使用 v-else 吗?
【问题讨论】:
-
toggleIsScroll 点击事件有什么作用?
标签: html vue.js conditional-statements