Я создаю приложение Angular 5 для отслеживания прибыли. В моем приложении несколько полей ввода.
Если я продам шоколад, я нажму кнопку +, чтобы увеличить счет.
Если я продам вино, то я нажму кнопку + рядом с полем «Вино», чтобы увеличить счет.
Теперь я использовал функцию incrementchoc (), чтобы увеличить количество шоколада, и функцию incrementwine (), чтобы увеличить количество вина.
Вот мой HTML-код ниже:
<div >
<label>Chocolate:</label><br>
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-danger btn-number" (click)= "decrementchoc()" data-type="minus" data-field="quant[2]">
<span class="glyphicon glyphicon-minus"></span>
</button>
</span>
<input type="text" name="quant[2]" [(ngModel)]="info.choco" (keyup)="choc(info.choco)" class="form-control input-number" value="{{info.choco}}" >
<span class="input-group-btn">
<button type="button" class="btn btn-success btn-number" (click)= "incrementchoc()" data-type="plus" data-field="quant[2]">
<span class="glyphicon glyphicon-plus"></span>
</button>
</span>
</div></div>
<div >
<label>Wine:</label><br>
<div class="input-group">
<span class="input-group-btn">
<button type="button" class="btn btn-danger btn-number" (click)= "decrementwine()" data-type="minus" data-field="quant[3]">
<span class="glyphicon glyphicon-minus"></span>
</button>
</span>
<input type="text" name="quant[3]" [(ngModel)]="info.wine" (keyup)="wine(info.wine)" class="form-control input-number" value="{{info.wine}}" >
<span class="input-group-btn">
<button type="button" class="btn btn-success btn-number" (click)= "incrementwine()" data-type="plus" data-field="quant[3]">
<span class="glyphicon glyphicon-plus"></span>
</button>
</span>
</div></div>
Я тоже прикрепляю изображение. Вот как мой HTML выглядит с кнопками - и +
Ниже приведен код моего файла Component.ts
incrementchoc(){
this.info.choco= ++this.info.choco;
}
decrementchoc(){
this.info.choco= --this.info.choco;
}
incrementwine(){
this.info.wine= ++this.info.wine;
}
decrementwine(){
this.info.wine= --this.info.wine;
}
Из приведенного выше кода ясно видно, что если у меня есть n полей ввода, мне придется написать n функций увеличения и уменьшения. Думаю, это сделает приложение очень тяжелым.
Пожалуйста, предложите мне лучший способ сделать это, используя одну функцию для увеличения и уменьшения значений, обнаруживая ngModel ввода и увеличивая / уменьшая только это значение, а не записывая n функций.