Я пытаюсь создать упорядоченный список, но число перед каждым элементом списка всегда равно 1.
Часть HTML:
<ol ng-repeat = "student in student.gpas | filter: studentName | orderBy: 'gpa'">
<li>{{'Name: ' + student.name + ' GPA: ' + student.gpa}}</li>
</ol>
Часть JavaScript:
$scope.student = {
gpas: [
{ name: "a c", gpa: 3.5 },
{ name: "b c", gpa: 2.5 },
{ name: "c c", gpa: 1.5 },
{ name: "d c", gpa: 0.5 }
]
};
Результат:
Почему не работает упорядоченный список?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вместо использования ng-repeat в ol используйте его в li
<ol>
<li ng-repeat = "student in student.gpas | filter: studentName | orderBy: 'gpa'">
{{'Name: ' + student.name + ' GPA: ' + student.gpa}}
</li>
</ol>
Пытаться:
<ol>
<li ng-repeat = "student in student.gpas | filter: studentName | orderBy: 'gpa'">
{{'Name: ' + student.name + ' GPA: ' + student.gpa}}
</li>
</ol>
Пожалуйста, используйте ng-repeat внутри элемента <li>, а не в элементе <ol>. Что-то вроде этого:
<ol >
<li ng-repeat = "student in student.gpas | filter: studentName | orderBy: 'gpa'">
{{'Name: ' + student.name + ' GPA: ' + student.gpa}}</li>
</ol>
ng-repeat должен выполняться через li, а не ol
ДЕМО
angular.module('app', [])
.controller('Main', ['$scope', function($scope) {
$scope.student = {
gpas: [
{ name: "a c", gpa: 3.5 },
{ name: "b c", gpa: 2.5 },
{ name: "c c", gpa: 1.5 },
{ name: "d c", gpa: 0.5 }
]
};
}]);<!DOCTYPE html>
<html ng-app = "app">
<head>
<link rel = "stylesheet" href = "style.css" />
<script src = "https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
</head>
<body ng-controller = "Main">
<ol>
<li ng-repeat = "student in student.gpas | filter: studentName | orderBy: 'gpa'">
{{'Name: ' + student.name + ' GPA: ' + student.gpa}}
</li>
</ol>
</body>
</html>
Изучите HTML, и вы поймете, почему