angular с использованием ng-модели с выражением в ng-repeat

Мне нужно сделать форму для многоязычной системы управления контентом с помощью angularJS.

мой список языков определяется следующим образом в угловой области:

$scope.languages = 
[
 {id:0,'name':'English'},
 {id:1, name:'French'}
  /* ... */
]

в моем html я делаю такую ​​​​форму:

    <div ng-repeat="lang in languages">
        <label for="titlel{{ lang.id }}">{{ lang.name }}</label>
        <input type="text" class="form-control"  ng-model="editquestion['titlel{{ lang.id}}']" id="titlel{{ lang.id }}" />
    </div>

Он не работает должным образом, метки правильные, но привязка ng-model не работает, текст не добавляется в текстовое поле, даже если есть данные editquestion.titleX , и когда я набираю текст в поле ввода html, набранный текст реплицируется во все поля.

Я проверил с инспектором, и атрибут ng-model выглядит правильно.

скриншоты проблемы здесь

http://accessdev.s3.amazonaws.com/temp/replicated1.PNG

http://accessdev.s3.amazonaws.com/temp/replicated2.PNG

проблема отсутствует, если я делаю html-код вручную, например:

 <label for="textl0">English</label>
 <textarea class="form-control" ui-tinymce="tinymceOptions" ng-model="editquestion.textl0"></textarea>

 <label for="textl1">French</label>
 <textarea class="form-control" ui-tinymce="tinymceOptions" ng-model="editquestion.textl1"></textarea>

person Nico AD    schedule 02.10.2015    source источник


Ответы (1)


ng-model ожидает выражение (которое затем оценивается в текущей области), оно работает не так, как, например. установка идентификатора для метки. Попробуйте изменить ввод на следующее:

<input ... ng-model="editquestion['titlel' + lang.id]" />
person plamut    schedule 02.10.2015