Я не уверен, как я могу получить значение кнопки... это мой код
<p *ngFor = "let product of ProductsDetails; let i = index">
<input type = "number" value = {{cartProducts[i].amount}} class = "quantInput">
<button mat-raised-button color = "primary" class = "changeBTN">change</button>
</p>
примечание: количество кнопок и вводов является динамическим, поэтому у меня не может быть переменной, которая будет содержать значение ввода, или я просто не знаю, как это сделать
это сработало бы, если бы кнопки и входы не были динамическими... для этого мне нужно удерживать переменную для каждого входа, но я не могу знать, сколько входов у меня будет, поэтому этот ответ неверен
Это было бы легко. У вас уже есть все, вложенное в цикл ngFor, и индекс i, чтобы различать каждый конкретный элемент.
<p *ngFor = "let product of ProductsDetails; let i = index">
<input type = "number" [(ngModel)] = "values[i]" value = {{cartProducts[i].amount}} class = "quantInput">
<button mat-raised-button color = "primary" class = "changeBTN" (click) = "doSomethingWithInputValue(i)" >change</button>
</p>
ts-файл
values: any[];
//initialize array when you have loaded productDetails
ProductDetails.forEach((productDetail) => {
this.values.push({});
});
public doSomethingWithInputValue(index){
const currentInputValue = this.values[index];
...do everything you want with this value here
}
ответ здесь stackoverflow.com/questions/56203795/…