Actualmente, estoy haciendo un sitio web que repertorio de eventos organizados por el sello de música de mi amigo. Pero encontré un problema al intentar hacer una "automatización de archivo". Usar ese código a continuación no funciona. Mis "artículos" todavía son visibles en la página del blog .
Esto es lo que probé (está funcionando con un v-if en mi nuxt-link , pero no con un v-show ). La razón por la que no uso un v-if es que todavía se puede hacer clic en mis enlaces, pero no son visibles.
<div class="article" v-for="article in articles" :key="article.slug" v-show="dateNow < article.eventDate">Aquí está mi condición en mi JS (no es importante, pero prefiero mostrarles)
data() { return { dateNow: new Date().toISOString() }; },Creo que el problema está en el formato de la fecha.
new Date().toISOString()esto formateará la fecha como una cadena. Por lo tanto, el valor de salida para la operación ( >= ) será incorrecto. Una solución es convertir la fecha en una marca de tiempo proporcionando "+" antes de la fecha y luego realizar la operación lógica. ex:
+new Date()o
new Date().getTime()O si usa una biblioteca de fechas como "momento", puede usar las API isSameOrAfter o isSameOrBefore. https://momentjs.com/docs/#/query/is-same-or-after/