Вам нужно разделить отображение списка ваших автомобилей и ввод.
, когда я получу свои машины в Init. Независимо от того, насколько велик мой список, одна и та же машина отображается постоянно
Вы хотите проверить, действительно ли ваш метод carService.getCars () возвращает что-либо. У вас также есть пробел между .getCars () и .subscribe
, когда я нажимаю добавить Car, все поля устанавливаются в ноль вместо того, чтобы сохранять то, что я делал до сих пор. В своем коде вы пытаетесь передать «форму» методу. Но подпись вашего метода onAddCar () вообще не принимает никаких параметров.
Вот как я бы изменил ваш код. Это не идеально, но я думаю, что это полезно для вас. В шаблоне HTML:
<form>
<div *ngFor="let car of cars;">
<label>Brand</label>
<input type="text" name="carbrand" [value]="car.brand">
<label></label>
<input type="text" name="carsize" [value]="car.size">
</div>
</form>
<input type="text" name="carbrand" [(ngModel)]="brand">
<input type="text" name="carsize" [(ngModel)]="size">
<button type="button" (click)="onAddCar(brand, size)">Add Car</button>
В файле ts:
cars : Car[] = [];
brand:string = '';
size:string = '';
ngOnInit(){
this.carService.getCars().subscribe(response => { this.cars= response; });
}
onAddCar(brand:string, size:string) {
var myNewCar = new Car(brand,size);
this.cars.push(myNewCar);
}
Надеюсь, это поможет.