Javascript 将副标题添加到列表中,但仅添加一次

Javascript 将副标题添加到列表中,但仅添加一次,javascript,vue.js,vuejs2,vuetify.js,date-fns,Javascript,Vue.js,Vuejs2,Vuetify.js,Date Fns,我需要在清单上加一个副标题。目前,每个日期为今天的条目都有一个副标题,但我只想设置一次。问题似乎是,我无法访问中的todaySubheader的更新值。您确实可以访问todaySubheader,但您不想这样做,因为在调用函数时,您在该v-for中多次更改它。您可能需要获取今天第一次会议的索引: <v-subheader v-if="index === todayIndex" ... computed: { todayIndex() { return this.filtered

我需要在清单上加一个副标题。目前,每个日期为今天的条目都有一个副标题,但我只想设置一次。问题似乎是,我无法访问
中的
todaySubheader
的更新值。您确实可以访问
todaySubheader
,但您不想这样做,因为在调用函数时,您在该
v-for
中多次更改它。您可能需要获取今天第一次会议的索引:

<v-subheader v-if="index === todayIndex"
...
computed: {
  todayIndex() {
    return this.filteredItems.findIndex(v => isToday(new Date(v.date) ) )
  },
isToday(新日期(v.Date)))
},

您确实可以访问
Today Subheader
,但您不想这样做,因为在调用函数时,您在该
v-for
中多次更改了它。您可能需要获取今天第一次会议的索引:

<v-subheader v-if="index === todayIndex"
...
computed: {
  todayIndex() {
    return this.filteredItems.findIndex(v => isToday(new Date(v.date) ) )
  },
isToday(新日期(v.Date)))
},

您可以创建一个全局javascript变量:

var todayAdded=false;
然后,您的checkToday方法将包括以下内容:

checkIsToday (val) {
  if (isToday(new Date(val))) {
    if (!todayAdded)
       todayAdded= true;
    return true;
  }
  return false;  
},
以及您的html:

<template v-for="(meetup, index) in filteredItems">
            <v-subheader
              v-if="checkIsToday(meetup.date)">
            <span v-if="!todayAdded">TODAY</span>
            </v-subheader>

今天

您可以创建一个全局javascript变量:

var todayAdded=false;
然后,您的checkToday方法将包括以下内容:

checkIsToday (val) {
  if (isToday(new Date(val))) {
    if (!todayAdded)
       todayAdded= true;
    return true;
  }
  return false;  
},
以及您的html:

<template v-for="(meetup, index) in filteredItems">
            <v-subheader
              v-if="checkIsToday(meetup.date)">
            <span v-if="!todayAdded">TODAY</span>
            </v-subheader>

今天

我试图回答(在回答部分有更好的格式),但也许你可以提供更多信息?例如,我不明白为什么有两个
v-if
s?你们能在codepen上复制一个简单的例子吗?我试着回答(在回答部分有更好的格式),但也许你们能提供更多的信息?例如,我不明白为什么有两个
v-if
s?你能在codepen上复制最小的例子吗?我试过你的建议,但我得到了多个副标题,而不是每天只有一个。有什么想法吗?多个聚会在
meetup.date
中有今天的日期吗?基本上很难知道,除非你重复最简单的工作示例,但我认为我的建议应该有效,除非我误解了你的目标。是的,多个会议都有相同的日期。@Tom编辑,但仅适用于今天的
(如果你只需要一个副标题)。如果您需要多个子标题,那么我们将需要更多的编辑。这对于集成在Date FNS库中的isToday和isTomorrow请求非常有效。如何在后天调用像
这样的自定义函数时使其工作
?我收到的错误消息是:isDayAfterTomorrowIndex不是一个函数我尝试了你的建议,但我得到了多个子标题,而不是每天只有一个子标题。有什么想法吗?多个聚会在
meetup.date
中有今天的日期吗?基本上很难知道,除非你重复最简单的工作示例,但我认为我的建议应该有效,除非我误解了你的目标。是的,多个会议都有相同的日期。@Tom编辑,但仅适用于今天的
(如果你只需要一个副标题)。如果您需要多个子标题,那么我们将需要更多的编辑。这对于集成在Date FNS库中的isToday和isTomorrow请求非常有效。如何在后天调用像
这样的自定义函数时使其工作
?我得到的错误消息是isDayAfterTomorrowIndex不是一个函数这可能无法工作,主要是因为您试图在vue模板中使用全局变量。但是,即使您在这方面修正了您的答案,我也没有注意到它与OP的尝试有什么不同?这可能不起作用,主要是因为您尝试在vue模板中使用全局变量。但即使你在这方面修正了你的答案,我也没有注意到它与OP的尝试有什么不同?