【问题标题】:Rendering components if class is present如果存在类,则渲染组件
【发布时间】:2021-03-26 06:03:45
【问题描述】:

我需要一些有关 VUEJS 项目的帮助。我想根据某个类是否存在来渲染一个组件。

逻辑

如果(a 类)存在渲染(a 组件) 如果 (class b) 存在渲染 (component b) 如果 (class a) 或 (class b) 都不存在,则不渲染

  <section class="card" v-if="">
      <h3>{{title}}</h3>
      <p>{{subtitle}}</p>
  </section>

【问题讨论】:

  • 您好,当您说“存在”时,您是指在您的组件数据中实例化,还是指其他可能不清楚的东西?
  • @JTInfinite 抱歉,只是为了澄清一下 - 如果该部分具有类 a 则呈现组件 a (在部分元素内)。希望那更清楚对不起:)
  • 对不起,我在想 javascript 类。多哈。我认为提供的答案是正确的

标签: javascript vue.js vuejs2 vue-component vue-directives


【解决方案1】:

你可以这样做

模板:

<section class="card class-a class-b">
  <div v-if="isAPresent"></div>
  <div v-if="isBPresent"></div>
</section>

只需相应地删除class-aclass-b

脚本:

computed: {
  isAExist () {
     return window.document.querySelector('section.class-a')
  },
  isBExist () {
     return window.document.querySelector('section.class-b')
  },
},

【讨论】:

  • 这很有效,谢谢!我实际上并不需要它的组件,但我不知道是否可以将其标记为正确,因为最初的问题是根据类显示组件。
  • 啊,我现在知道你的问题了,让我快速更新我的答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-29
  • 2021-12-15
  • 2015-01-01
  • 2020-10-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多