Estoy tratando de establecer una variable llamada fecha usando el valor definido en una lista desplegable definida con ngFor.

Primero obtengo todos los valores de la lista y luego los itero usando ngFor como este

<li class="dropdown-menu" aria-labelledby="dropdownMenuButton" *ngFor ="let fecha of fechas">
                    <button class="dropdown-item"  type="submit" *ngFor ="let fecha of fechas" (click)= "setFecha(this.value)" value="{{fecha._id}}">{{fecha._id}}</button>
                </li>

Sin embargo, cuando hago clic en el botón, la consola vuelve

ERROR TypeError: "fecha is undefined"

¿Hay un error cuando paso el valor a la función o es una forma incorrecta de acceder al valor del botón?

2
VicSan 19 dic. 2019 a las 03:11

2 respuestas

La mejor respuesta

Intente cambiar esto a fecha También noté que has anidado para el bucle, ¿está destinado?

<li class="dropdown-menu" aria-labelledby="dropdownMenuButton" *ngFor ="let fecha of fechas">
                    <button class="dropdown-item"  type="submit" *ngFor ="let fecha of fechas" (click)= "setFecha(fecha)" value="{{fecha._id}}">{{fecha._id}}</button>
                </li>

Si el bucle anidado no está previsto, el código debería verse así

<li class="dropdown-menu" aria-labelledby="dropdownMenuButton" *ngFor ="let fecha of fechas">
   <button class="dropdown-item"  type="submit"  (click)= "setFecha(fecha)" value="{{fecha._id}}">{{fecha._id}}</button>
</li>
2
Mohamed Farouk 19 dic. 2019 a las 00:18

Tienes ngFor en tu li y tu botón.

Intenta algo como:

<li class="dropdown-menu" aria-labelledby="dropdownMenuButton" *ngFor ="let fecha of fechas">
   <button class="dropdown-item"  type="submit" (click)= "setFecha(fecha)" value="{{fecha._id}}">{{fecha._id}}</button>
2
dnunez32 19 dic. 2019 a las 00:16