AngularJS - значение ng-модели равно переменной строке

0

извините, может быть, запутанный титул.

Я пытаюсь сделать следующее:

<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}];

Я пробовал разные ответы, которые я нашел в сети, но не могу найти ответы на мои конкретные проблемы.

Так как я могу сделать эту работу?

  • 0
    А твой вопрос был?
  • 0
    Пожалуйста, будьте более конкретны. откуда ваша переменная name_year ? Покажите нам свой контроллер, чтобы мы могли понять, почему у вас есть что-то, что выглядит довольно странно
Показать ещё 2 комментария

3 ответа

0

Если это только для отображения в html, то используйте это

 <div ng-repeat="input in inputs">
    <input type="text" value="{{input.name}}_{{input.year}}">
</div>
0

Кто-то отправил этот ответ, но впоследствии удалил его, так что он положил его обратно, так как он работал для меня:

<input type="text" ng-bind-model="{{input.name + '_' + input.year}}">

станет

<input type="text" ng-bind-model="foo_2015">
0

Прежде всего измените

      $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>
  • 0
    Ой, извините, я уже изменил это в своем коде, но, по-видимому, забыл изменить его и здесь. Просто поместив "input.name + '_' + input.year" он будет принят как строка, так что он просто покажет ng-model="input.name + '_'+ input.year" в html

Ещё вопросы

Сообщество Overcoder
Наверх
Меню