【问题标题】:How to conditionally display message if there are no v-for items?如果没有 v-for 项目,如何有条件地显示消息?
【发布时间】:2020-05-02 16:48:53
【问题描述】:

我正在使用带有 Fullcalendar 的 Vue,如果用户所在的月份有与之关联的日期,我会显示一个事件侧边栏。所以我有,

 <div v-for="event in events"> etc etc </div>

如果没有可显示的消息,我如何利用 v-if 和 v-else 有条件地显示“抱歉,本月没有活动”之类的消息?

有点像

 <div v-if="events">
      <div v-for="event in events"> etc etc </div>
 </div>
 <div v-else>Sorry there are no events</div>

为伪代码道歉

【问题讨论】:

    标签: javascript jquery html vue.js


    【解决方案1】:

    与您的示例完全相同,但添加了长度检查:

    <div v-if="events && events.length > 0">
          <div v-for="event in events"> etc etc </div>
    </div>
    <div v-else>Sorry there are no events</div>
    

    【讨论】:

    • 绝对看起来应该可以,但它会在 v-for 项目旁边显示 v-else 消息。很奇怪。
    • 您的代码中是否还有其他v-if?也许v-else 与另一个v-if 匹配
    • @yerme - 如果events 已定义且长度不为零,则此代码应该可以工作。 console.loging 验证是这样吗?
    • @PaulBovis 我需要在我的标记中更深地嵌套 v-if;代码起作用了,这正是我设置它的方式,需要稍作调整。一切都好。
    猜你喜欢
    • 1970-01-01
    • 2019-08-20
    • 1970-01-01
    • 2019-08-05
    • 2023-03-21
    • 1970-01-01
    • 2013-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多