извините, может быть, запутанный титул.
Я пытаюсь сделать следующее:
<div ng-repeat="input in inputs">
<input type="text" ng-model="{{input.name}}_{{input.year}}">
</div>
Это не работает. Таким образом, поле ввода привязывается к {{input.name}}_{{input.year}}
вместо ex. foo_2015
Список моих входов выглядит следующим образом:
$scope.inputs = [{name : foo, year : 2015},{name : bar, year : 2015}];
Я пробовал разные ответы, которые я нашел в сети, но не могу найти ответы на мои конкретные проблемы.
Так как я могу сделать эту работу?
Если это только для отображения в html, то используйте это
<div ng-repeat="input in inputs">
<input type="text" value="{{input.name}}_{{input.year}}">
</div>
Кто-то отправил этот ответ, но впоследствии удалил его, так что он положил его обратно, так как он работал для меня:
<input type="text" ng-bind-model="{{input.name + '_' + input.year}}">
станет
<input type="text" ng-bind-model="foo_2015">
Прежде всего измените
$scope.inputs = [{ name: 'foo', year: 2015 }, { name: 'bar', year: 2015 }];
Я думаю, что это решит вашу проблему, если я пойму вашу проблему.
<div ng-repeat="input in inputs">
<input type="text" ng-model="input.name + '_'+ input.year"/>
</div>
"input.name + '_' + input.year"
он будет принят как строка, так что он просто покажет ng-model="input.name + '_'+ input.year"
в html
name_year
? Покажите нам свой контроллер, чтобы мы могли понять, почему у вас есть что-то, что выглядит довольно странно