Aurelia repeat.for для двустороннего связывания
Я новичок в Aurelia Js и использую repeat.for для списка некоторых текстовых полей, которые могут содержать некоторые значения. Здесь, перечисленное текстовое поле в порядке, проблема в том, что я использую value.bind для привязки предыдущего значения / нового значения (пользовательский ввод) при наборе текста в текстовом поле, это применяется для всей модели (для всех i.companyname)
код:
<div class="row" repeat.for="i of experience_array">
<input type='text' value.bind='i.companyname'/>
<input type='text' value.bind='i.experience'/>
</div>
Также попробовал:
<div class="row" repeat.for="i of experience_array.length">
<input type='text' value.bind='$parent.experience_array[i]['companyname']'/>
<input type='text' value.bind='$parent.experience_array[i]['experience']'/>
</div>
Как это исправить? Угадайте, я что-то упустил в связывающей концепции aurelia
1 ответ
Вы добавляете существующую ссылку на объект (obj) в свой список при добавлении, поэтому вы в основном добавляете один и тот же объект каждый раз. Поэтому, когда вы редактируете этот объект, он обновит все компоненты пользовательского интерфейса, связанные с этим объектом.
Когда вы нажимаете кнопку "Добавить", я предполагаю, что вы хотите добавить новый объект. Вы должны создать класс компании и поместить новый экземпляр этого класса в список вместо того же объекта.
Пример: https://gist.run/?id=2237595bdde46cee4658cc14873050d7