【问题标题】:how to manipulate an ngmodel whose value is an attribute that comes from an ngFor如何操作其值为来自 ngFor 的属性的 ngmodel
【发布时间】:2020-07-01 15:08:59
【问题描述】:

我想知道如何操作具有 ngModel 属性的输入,该属性来自 ngFor,并在组件中更改其值,接下来我将展示我的代码

HTML

FRONT

这个想法是这个 [(ngModel)] = "item.days" 根据您单击的按钮被添加和减去,但我不知道如何在组件函数中引用它来操作它,因为它应该动态变化,

我尝试验证输入不小于 0,但它对我不起作用,因此我选择隐藏输入。 如果有人可以帮助我,我将不胜感激,问候。

【问题讨论】:

    标签: javascript angular typescript angular2-ngmodel


    【解决方案1】:

    您需要将索引传递给您的更改值函数以了解要更改的值。更改数组中的值将触发 Angular 的更改检测并更新 html 中的 ngModel。

    changeValue(value, index): void {
        this.complexities[index].days += value;
    
        if (this.complexities[index].days < 0) {
          this.complexities[index].days = 0;
        }
      }
    

    然后你的按钮看起来像

    <button
      type="button"
      class="btn btn-default btn-xs rounded"
      (click)="changeValue(-1, i)">
    

    并为另一个传递+1。验证输入的一种简单方法是将以下行添加到 标记

    (change)="changeValue(0, i)"
    

    这不会改变天数,但如果输入负值,则将值设置为 0。

    【讨论】:

      猜你喜欢
      • 2019-03-29
      • 2020-01-27
      • 2016-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-18
      • 2017-09-18
      相关资源
      最近更新 更多