【发布时间】:2024-05-19 14:30:02
【问题描述】:
我正在构建一个受this site 启发的发票功能,我希望发票的前两行预先填写:“工作小时数”和“行驶公里数”。上述站点的示例代码使用的是Angularjs的第一个版本,所以我需要将其转换为Angular 2+,所以我将ng-model="items.description"更改为[(ngModel)]="items.description"
在我的 invoice.component.ts 我已经声明了这个字段:
items:[
{ qty: 1, description: 'Hours worked', cost: 500 },
{ qty: 1, description: 'Kilometres traveled', cost: 4500 }
]; 这是完整的代码块:
<div class="row invoice-item" *ngFor="let item of items" ng-animate="'slide-down'">
<div class="col-xs-1 remove-item-container">
<a href ng-hide="printMode" ng-click="removeItem(item)" class="btn btn-danger">[X]</a>
</div>
<div class="col-xs-5 input-container">
<input [(ngModel)]="items.description" placeholder="description" >
</div>
<div class="col-xs-2 input-container">
<input ng-model="item.qty" value="1" size="4" ng-required ng-validate="integer" placeholder="Quantity" />
</div>
<div class="col-xs-2 input-container">
<input ng-model="item.cost" value="0.00" ng-required ng-validate="number" size="6" placeholder="Cost" />
</div>
<div class="col-xs-2 text-right input-container">
<!-- {{item.cost * item.qty | currency: currencySymbol}} -->
</div>
</div>
但是,这些行是空白的。我做错了什么?
(我知道其余代码仍在使用 Angularjs 代码,但现在不相关)
【问题讨论】:
-
您只为
items定义了一个类型,实际上并没有为其分配任何值。注意:和=之间的区别。 -
同样在 ngModel 指令中你应该引用
item,而不是items。 -
'您只是为项目定义了一个类型,实际上并没有为它分配任何值。注意 : 和 =' 之间的区别,这可以解决问题
标签: angular forms input angular8 ngmodel