angular - 使用 ngFor 并使用(单击)-Angular 8 访问它时,按钮值属性未定义

标签 angular

我尝试使用 ngFor 定义的下拉列表中定义的值来设置一个名为 fecha 的变量。

我首先获取所有列表值,然后像这样使用 ngFor 迭代它们

<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>

但是,当我单击按钮时,控制台返回

ERROR TypeError: "fecha is undefined"

当我将值传递给函数时是否出现错误,或者访问按钮值的方式是否错误

最佳答案

尝试将this更改为fecha 我还注意到您嵌套了 for 循环,这是有意的吗?

<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>

如果不打算嵌套 for 循环,代码应如下所示

<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>

关于angular - 使用 ngFor 并使用(单击)-Angular 8 访问它时,按钮值属性未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59401698/

相关文章:

以逗号作为分隔符的 Angular Material 芯片输入不允许 '<'(小于)

javascript - (angular2-highcharts) 静态解析符号值时遇到错误中的错误

javascript - 组件渲染后防止回流/重绘 ngFor - Angular 8

angular - 在 Angular 7 中导入 bootstrap 时,Bootstrap 4 下拉菜单中断

angular - 限制在 agm-map 中的特定国家/地区

angular - 如何使用 typescript 根据 Angular 4 中的某些条件为 html 标签动态添加属性

json - 如何从 Angular 输出中提取信息

angular - 无法读取 null TypeError : Cannot read property 的属性 'config'

javascript - 如何在 Angular 2+ 中将滚动元素制作成视口(viewport)?

angular - 按下 'Enter' 的 angular2 事件是什么