2015-09-11 3 views
2

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

<input type="text" class="form-control input-sm" ng model="teller[value.teller_id]" value="<% value.mac_address %>"> 

Я планирую иметь ng-модель с тем же именем, но только по номеру. У меня есть объект, который содержит число от 1 до 4. который является value.teller_id. Я хочу добавить его к ng-модели как teller1, teller2, teller3 (teller [value.teller_id] и т. Д. Он зациклирован на ng-repeat, который у меня не вызывает проблем, а скорее создает динамическую ng-модель и изменение числа даст Undefine.

ng model="teller[value.teller_id]" <---- doesn't work 

Я хочу для того чтобы достигнуть teller1, teller2 и т.д ..

Спасибо!

+1

почему вы не хотите использовать 'нг-repeat'? он делает то же самое –

+0

Данные, которые я получаю от объекта, на самом деле не 1,2,3,4, они меняются. И мне нужно передать его из объекта, который я получаю, так как он также является первичным ключом. – drake24

ответ

2

Да. Мы можем генерировать имя нг-модели динамически.

var app = angular.module('myApp', []); 
 

 
app.controller('MainCtrl', function($scope) { 
 
    $scope.teller = {}; 
 
    $scope.name = [{ 
 
    "id":1 
 
    },{ 
 
    "id":2 
 
    }] 
 
});
<!DOCTYPE html> 
 
<html ng-app="myApp"> 
 

 
    <head> 
 
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.28/angular.min.js"></script> 
 
    <link rel="stylesheet" href="style.css"> 
 
    <script src="script.js"></script> 
 
    </head> 
 

 
    <body ng-controller="MainCtrl"> 
 
    <div ng-repeat="x in name"> 
 
     <input type="text" ng-model="teller[x.id]" /> 
 
    </div> 
 
    <pre>{{teller | json}}</pre> 
 
    </body> 
 

 
</html>

Надеется, что это работает для вашего дела :)

+0

Отлично! вы сделали это еще проще понять @Thinker – drake24

Смежные вопросы