Я новичок в Angular и имею проблему с разделом в данный момент.Как разбить список массивов в ng-repeat
Я хочу разделить объекты класса на два столбца, называемых subject ID
, и Name
с помощью split ("-" и ";"). Однако я не знаю, как это сделать в таблице ng-repeat
.
Это то, что таблица выглядит сейчас:
То, что я хочу, это 3 столбец таблицы больше, как это:
username subject ID Subject Name
HTML код
<table class="table table-hover">
<thead>
<tr>
<th>#</th>
<th>Username</th>
<th>Class Subjects</th>
</tr>
</thead>
<tbody>
<tr ng-repeat="studentsMember in currentPageElements">
<td>{{$index + 1}}</td>
<td>{{studentsMember.username}}</td>
<td>{{studentsMember.class_subject}}</td>
</tr>
</tbody>
Контроллер
function listStudentClassCtrl($scope,UserManager,SchoolService,SingleRequestHandler,TableService) {
$scope.items = {};
var listStudentClassDefer;
if(angular.isUndefined(listStudentClassDefer))
{
$scope.loading = true;
listStudentClassDefer = SingleRequestHandler.promiseRequest('ListClassesBySchoolId', {inst_id: SchoolService.getCurrentSchool().institution_id, user_type: 10});
listStudentClassDefer.promise.then(
function(data){
console.info("ListUsers - data ",data);
$scope.staff = data.response;
TableService.elements = $scope.staff;
},
function(httpError){
console.log(httpError);
$scope.alert.stat = true;
})
.finally(function(){
$scope.loading = false;
});
}
}
формат ответа данных
"response":[
{
"username":"bingowere ",
"class_subject":"8GEO 3 -- SocialSciences; 8SCI 3 -- Unknown; 8JAP 1 -- Unknown; 8PDH 4 -- Unknown"
},
{
"username":"letbingo ",
"class_subject":"8GEO 2 -- SocialSciences; 8RC 6 -- SocialSciences; 8PDH 1 -- Unknown"
}]
Не делайте этого в шаблоне , Сделайте это в своем контроллере или в сервисном коде JavaScript. Или лучше, исправьте бэкэнд, чтобы вернуть его структурированные данные JSON, а не строку для разделения. –
Thys для вашего предложения, но как это сделать с контроллером? –
@QingXu Не нужно делать это в контроллере (это слишком простое изменение), просто настройте свой HTML ... (см. Мой ответ ниже). –