2016-10-15 3 views
0

Я запускаю цикл в своем html, и каждая итерация будет создаваться динамически.Как вызвать динамическую ng-модель от контроллера?

<tr ng-repeat="item in voucherItems"> 
     <td><input type="text" ng-model="this['id-' + $index]" typeahead="brand.id as brand.BRANDNAME for brand in brandList" class="input-group" /></td>      

</tr> 

модель будет как ID1, ID2, id3 и т.д. Теперь я хочу использовать эту динамическую модель в моем угловом контроллере.

function GetValue(indexno) { 
     var model=scope."id"+indexno; 
     dosomething(model); 
} 

значение вар модели будет значение scope.id1 или scope.id2 или scope.id3, как создана в html.Now проблема

сферу. «Идентификатор» + indexno

не работает как scope.id1 или scope.id2 или scope.id3, который будет динамической моделью, а не показывает ошибку. Вопрос как я могу написать эту цитату в угловом контроллере, которая будет работать как scope.id1 или scope.id2 или Как я могу динамически запускать эту модель?

+0

как вы связываете контроллер DOM? вы используете директиву 'ng-controller'? показать его в html –

+1

Вы пробовали 'scope [" id "+ indexn]'? – Nora

+0

Да, я использую ng-controller. Эта часть ok.html успешно связывается с контроллером. Проблема там. Когда метод GetValue выстрелил, он получил значение параметра indexno тоже. Просто мне нужно написать что-то, что работает как scope.id1 и т. Д. –

ответ

0

Я получил HTML solution.In

нг-модель = идентификатор [$ индекс]

в controller.I должны объявить первый

scope.id = {};

затем в методе GetValue

function GetValue(indexno) { 
     var model=scope.id[indexno]; 
     dosomething(model); 
} 

, который работает для меня. scope.id [indexno] работающий как scope.id1 или scope.id2 и т. Д. Спасибо @Nora и @gianlucatursi.

НАБЛЮДЕНИЕ Вы можете объявить scope.id = [] вместо scope.id = {}, он также будет работать.