javascript - 将子标题添加到列表但仅一次
问题描述
我需要在列表中添加一个子标题。目前,日期为今天的每个条目都有一个子标题,但我只想设置一次。问题似乎是我无法todaySubheader
访问<span v-if="todaySubheader
.
HTML
<template v-for="(meetup, index) in filteredItems">
<v-subheader
v-if="checkIsToday(meetup.date)"
inset
>
<span v-if="todaySubheader === false">TODAY</span>
</v-subheader>
脚本
data () {
return {
todaySubheader: false,
[...]
checkIsToday (val) {
if (val && this.todaySubheader === false) {
this.todaySubheader = true
}
return isToday(new Date(val))
},
如何访问v-if="todaySubheader中this.todaySubheader的更改值?
解决方案
您确实 access todaySubheader
,但您不想这样做,因为您在v-for
调用该函数时多次更改它。您可能想要获取第一次today
聚会的索引:
<v-subheader v-if="index === todayIndex"
...
computed: {
todayIndex() {
return this.filteredItems.findIndex(v => isToday(new Date(v.date) ) )
},
推荐阅读
- c# - 使游戏对象不可见而不使其处于非活动状态
- javascript - 提交前检查 JavaScript / 拒绝访问全局变量
- c# - CMake Dlibdotnet.native 构建错误
- java - 无法从java读取属性文件
- javascript - 在Javascript中反转字符串?
- flutter - 作为变量的颤动按钮与非变量不同
- java - 将名称包更改为以前的版本
- javascript - 使用 Chart.js 从外部 JSON 文件解析值
- reactjs - 在重复单击另一个组件reactjs中的相同选项卡时重新渲染组件
- android - DateUtils.getRelativeTimeSpanString() 在 Android 5 上因 NullPointerException 而失败