<div ng-repeat="class in classses">
<p>{{class.className}}</p>
<form novalidate>
<div ng-repeat="studentInput in class.students track by $index">
<input type="text" ng-model="studentInput[$index]" typeahead="student as (student.lastName + ', ' + student.firstName) for student in findStudents($viewValue)"/>
</div>
<button type="button" ng-click="addStudent(class)">Add Student</button>
</form>
</div>
В контроллере у меня есть:
$scope.addStudent = function(class){
class.students.push({});
}
Я использую typeahead из угловой начальной загрузки, поэтому он возвращает объекты учеников, которые я затем хочу добавить в массив учеников любого класса, в котором находится форма. Данные представляют собой набор объектов класса, каждый из которых имеет свойство студентов, которое представляет собой массив объектов студентов. В этот момент объект студента добавляется к другому объекту. Так что, похоже, [0:{firstName: "first", lastName: "last", ...}]
вместо [{firstName: "first", lastName: "last", ...}]
Это хороший способ сделать это и почему он вкладывает объект в объект?