javascript - Vue.js v-if 与 OR 无法正常工作

标签 javascript vue.js tabs logical-operators

我的代码中有一个逻辑错误,但我不明白为什么。

如果用户位于名为 BasicSport 的组中或者位于名为 Basic 的组中,我想隐藏名为 History 的选项卡.

我通过以下方式实现了选项卡:

<template>
  <div>
    <div class="row" >
      <button class="btn btn-primary" style="margin-bottom:20px" @click="changeSelectedComp">Back</button>
      <button class="btn btn-primary" style="margin-left:1000px" @click="EditMode">Edit</button>
    </div>

    <vue-tabs>
      <v-tab title="Basic">
        <app-players></app-players>
      </v-tab>
      <v-tab v-if="(!basicGroup || !basicSportGroup)" title="History">
        <app-histories></app-histories>
      </v-tab>
      <v-tab v-if="!basicGroup" title="Timetable">
        <app-timetables></app-timetables>
      </v-tab>
      <v-tab v-if="!basicGroup" title="Scholarship">
        <app-scholarship></app-scholarship>
      </v-tab>
    </vue-tabs>
  </div>
</template>

在这种情况下,即使用户位于 BasicSport 组中,History 选项卡仍然会显示:

enter image description here

但是如果我写

<v-tab v-if="!basicSportGroup" title="History">

该选项卡未显示:

enter image description here

我不明白为什么第二个有效,但第一个无效,因为 OR 不是排他的。 如果用户位于 BasicSport 中或位于 Basic 组中,如何隐藏History 选项卡?

这是full component

最佳答案

如果“用户位于名为 BasicSport 的组中,或者如果他位于名为 Basic 的组中”( 1)

因此,如果用户不在 BasicSport 且不在 Basic 中,您希望显示它。 (2)

你的逻辑应该是:

(1)
<v-tab v-if="!(basicGroup || basicSportGroup)" title="History">
  <app-histories></app-histories>
</v-tab>

(2)
<v-tab v-if="!basicGroup && !basicSportGroup" title="History">
  <app-histories></app-histories>
</v-tab>

关于javascript - Vue.js v-if 与 OR 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60063319/

相关文章:

javascript - 检查元素上是否存在事件

javascript - 单击(图像/按钮)将数据存储在...中以实时呈现另一个 html 模板

javascript - 如何按另一个数组中的项目过滤数组

c# - 使用 Vue JS 和 .Net Core Web API 等堆栈 - 我在哪里实现身份验证 (Azure AD)?

tabs - 如何在 phalcon 中显示选项卡

javascript - 如何使用 Nightwatch 回顾历史?

javascript - 如何使用 Angular 2 创建新页面?

javascript - Vue.js + 调用整页文档的点击事件

tabs - 标签大小和缩进大小

jquery focus() for Tab 在 Asp.Net 中跳转两次