У нас есть раздел нашего сайта, где пользователи могут отправлять данные.Этот раздел позволяет пользователям добавлять дополнительные записи и отправлять их все сразу.Нам пришлось переписать этот раздел после того, как мы обновили версию AngularJS, использовавшуюся до последней версии сайта.Когда пользователь впервые заходит на страницу, первая запись готова и доступна для заполнения пользователем.Они могут нажать на кнопку, и это добавит еще одну запись.Эти записи можно перемещаться по вкладкам.После добавления второй записи и выбора радиокнопки выбранная радиокнопка в первой записи отменяется в представлении.Если вы вернетесь к первой записи и повторно выберете радиокнопку, любая выбранная радиокнопка на второй записи будет отменена.При проверке модели значения все еще сохраняются, и если пользователь сохраняет данные, то правильные значения сохраняются в базе данных.Я не знаю, имеет ли это значение в этом случае, но параметры переключателя заполняются данными из базы данных.Кажется, что все в контроллере работает правильно.
Вот концентрированный бит из шаблона:
<uib-tabset active="activeTabIndex" ng-show="!nothingToShow && showThisStuff">
<uib-tab ng-repeat="entry in things.items" active="{{entry.active}}" ng-model="entry">
<uib-tab-heading>Heading Here</uib-tab-heading>
<div>
<!-- some other stuff here -->
<div>
<label>Label Here</label>
<br />
<div ng-repeat="input in inputTypes">
<input name="inputTypes" type="radio" data-ng-value="input.theTypeId" ng-model="entry.theTypeId">
<label>{{input.localizedName | translate}}</label>
</div>
</div>
<!-- More stuff here-->
</div>
</uib-tab>
</uib-tabset>
У меня такое ощущение, что я что-то не так делаю, так как ng-repeatучаствует, но я чувствую, что, поскольку выбор указывает на запись, несколько записей должны быть изолированы друг от друга.Впрочем, вполне может быть ошибочным.
Вот список вещей, на которые я посмотрел, чтобы попытаться решить эту проблему: