Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 模板驱动的文本字段值更新_Angular_Typescript - Fatal编程技术网

Angular 模板驱动的文本字段值更新

Angular 模板驱动的文本字段值更新,angular,typescript,Angular,Typescript,这是购物车详细信息的模板。。Am更新购物车数量工作正常。但是如果没有库存,我需要更新以前的值或设置 <form #myform="ngForm"> --added ng form <div class="col-lg-12 pl-3 pt-3"> <table class="table table-hover border bg-white">

这是购物车详细信息的模板。。Am更新购物车数量工作正常。但是如果没有库存,我需要更新以前的值或设置

<form #myform="ngForm">   --added ng form
     <div class="col-lg-12 pl-3 pt-3">
                  <table class="table table-hover border bg-white">
                    <thead>
                      <tr>
                        <th>Product</th>         
                        <th>Quantity</th>           
                        <th>Action</th>
                      </tr>
                    </thead>
                    <tbody>
                      <tr *ngFor="let cart of cartItems;let i=index;">
                        <td>
                          <div class="row">
                            <div class="col-lg-10">
                              <h5 class="nomargin">{{cart.productName}}</h5>
                            </div>
                          </div>
                        </td>
                      
                        <td data-th="Quantity">
                          <input
                            type="number"
                            class="form-control text-center"
                            min="1"
                            [(ngModel)]="cart.qty" name="quantity{{i}}"
                            (ngModelChange)="updateCart($event,cart)"
                          />
                        </td>
                       
                      </tr>
                    </tbody>
                    
                  </table>
                </div>
         <form>
在这里,我需要检查库存不可用,我需要恢复到以前的值


有没有可能在angular 10模板驱动下完成这项工作?

您就快到了。使用单向绑定代替双向绑定

<input type="number" [ngModel]="cart.qty" (ngModelChange)="updateCart($event,cart)" />

Stackblitz中的工作示例-

您就快到了。使用单向绑定代替双向绑定

<input type="number" [ngModel]="cart.qty" (ngModelChange)="updateCart($event,cart)" />

Stackblitz中的工作示例-

感谢您的回答。。实际上,如果Validation失败,输入的值保持不变,即i stock actual 15存在,如果我输入16,我必须在html中重置数量。是否可以使用ngform…谢谢你的意思-actual stock 15,用户输入:16,API调用并检查库存,在ui中显示错误消息,说明库存少于输入的数量,将用户输入从16恢复到15?是。。如果(result | | result==0),我必须更新到股票价值(这是我准备好的)其他方面与用户输入的内容相同..我已更新问题中的ts方法..我只需要UI应更新数量//硬编码值…谢谢让我知道是否可以更新ng形式的UI模型?@Glen查看更新的stackblitz谢谢回答。。实际上,如果Validation失败,输入的值保持不变,即i stock actual 15存在,如果我输入16,我必须在html中重置数量。是否可以使用ngform…谢谢你的意思-actual stock 15,用户输入:16,API调用并检查库存,在ui中显示错误消息,说明库存少于输入的数量,将用户输入从16恢复到15?是。。如果(result | | result==0)我必须更新到股票价值(这是所有准备就绪的)其他方面与用户输入的相同..我已经更新了问题中的ts方法..我只需要UI应该更新数量//硬编码值…谢谢让我知道是否可以更新ng形式的UI模型?@Glen查看更新的stackblitz
updateCart(newValue: any, cartItem: CartItem) {
    
    // cartItem will have previous value until we assign the new event value
    // To update cartItem with new value you would simply do

    cartItem.qty = newValue;
}