app.module.ts
app.module.ts
:
import { FormsModule } from '@angular/forms';
@NgModule({
declarations: [...],
imports: [
...
FormsModule
],
...etc
})
<div>
<p>{{ activeProduct.price }} </p>
<label for="amount">Amount</label>
<input type="number" (change)="calculateTotal() [(ngModel)]="activeProduct.numOfItems"/>
<br>
<hr>
<p style="float: left;">Total price:</p>
<p [(ngModel)]="totalCost">{{ totalCost }}</p>
</div>
export class AppComponent {
activeProduct: any = {
price: 12,
name: 'pizza',
numOfItems: 0
};
totalCost: number = 0;
constructor() {}
calculateTotal(): number {
return this.totalCost = this.activeProduct.numOfItems * this.activeProduct.price;
}
}
не самый элегантный способ, но он доставит вас туда. Я думаю, что самая большая проблема - FormsModule
Вы не привязали поле ввода к чему-либо, используйте ngModel
<input type="number" [(ngModel)]="inputNum" style="width:40px; float:right;" />
или если вы не хотите использовать модуль форм
<input type="number" (change)="inputNum = $event.target.value" style="width:40px; float:right;" />