当我在项目中使用此命令ng build --prod
时显示此错误。
无法分配到'总计'因为它是函数get total(){}
我的功能是:
get total() {
return this.products
.map(p => p.Unit_price * p.Quantity)
.reduce((a, b) => a + b, 0);
}
HTML:
<form [formGroup]="addsale" (ngSubmit)="onaddsale()" >
<div class="row">
<div class="input-field col s2" style="float: right;">
<label for="total">Total {{total}} ALL</label>
<input formControlName="total" id="total" type="text" class="validate" [value]="total" [(ngModel)]="total">
</div>
<div class="input-field col s2" style="float: right;">
<label for="amount_paid">Amount Paid:</label>
<input formControlName="amount_paid" id="amount_paid" [value]="total" type="text" class="validate" [(ngModel)]="total">
</div>
<div class="input-field col s2" style="float: right;">
<label for="total">Subtotal</label>
<input formControlName="Subtotal" id="Subtotal" type="text" class="validate" [value]="total" [(ngModel)]="total">
</div>
</div>
</form>
表格形式:
this.addsale = this.fb.group({
'amount_paid': new FormControl('', Validators.required),
'Subtotal': new FormControl('', Validators.required),
'total': new FormControl('', Validators.required)
});
请问好吗?
答案 0 :(得分:2)
使用--prod
标记构建时,使用aot进行实际构建,这比使用ng服务时要严格得多。
我认为这是因为[(ngModel)]
对所有字段都设置为total
,并且使用2路绑定(get / set);您与total
getter
由于计算总数,我不认为对total
进行双向绑定是有意义的,它应该是只读的。付款小计/金额不应使用total
表示ngModel
答案 1 :(得分:1)
我遇到了同样的问题,但我的情况是指表格的有效状态。
<-- HTML-->
<button
type="submit"
[(disabled)]="!loginForm.valid">
Enter
</button>
对我有用的是将支票分配给新的公共变量。
<-- JS -->
public validForm: boolean;
ngOnInit() {
this.validForm = this.loginForm.valid;
}
<-- HTML -->
<button
type="submit"
[(disabled)]="!validForm">
Entrar
</button>
<---编辑--->
如果我们仅使用一种方法进行数据绑定,也可以使用
<button
type="submit"
[disabled]="!loginForm.valid">
Entrar
</button>