У меня есть ngFor
цикл, который выглядит примерно так (упрощенный, так что легче следовать):Bind выбран раскрывающийся вариант переменной
<div *ngFor="let c of customers">
<button class="save green-button" type="button" (click)="editCustomer(c.CustomerId, method.value)">Save</button>
<select *ngIf="c.GrowMethodsAvailable.length" id="PerProjectGrowMethodId" name="PerProjectGrowMethodId" #method>
<option *ngFor="let method of c.GrowMethodsAvailable" [ngValue]="method.Value">{{method.Text}}</option>
</select>
</div>
Как вы можете видеть, есть кнопка сохранения и выберите выпадающий динамические параметры. Когда я нажимаю кнопку «Сохранить», мне нужно отправить любое значение, которое я выбрал из соответствующего раскрывающегося списка. Я знаю, как привязать значение к переменной, которую я создал в моем классе, но потенциально может быть 10 различных кнопок сохранения с 10 различными значениями, поэтому я предположил, что для каждой выпадающего списка выберите локальную переменную. Я добавил #method
к элементу select и добавил method.value
к моей функции (click)="editCustomer(c.CustomerId, method.value)"
в кнопке сохранения. Когда я попытался это я получил следующее сообщение об ошибке:
Cannot read property 'value' of undefined
Как я могу связать значения из выбранных моих вариантов в соответствующих кнопках сохранения, так что я отправить правильные значения для каждого из них?
Я регистрирую i.value на консоли, когда я нажимаю save как в своем приложении, так и в вашем plnkr, и он возвращается как неопределенный. – Brett
Дальнейшее чтение (мои извинения) указывает, что привязки переменных шаблона должны быть статическими. https://github.com/angular/angular/issues/4581#issuecomment-148786554 – silentsod