Почему ngRepeat не создает упорядоченный список, как ожидалось?

Я пытаюсь создать упорядоченный список, но число перед каждым элементом списка всегда равно 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 }
    ]
};

Результат:

Почему ngRepeat не создает упорядоченный список, как ожидалось?

Почему не работает упорядоченный список?

Изучите HTML, и вы поймете, почему

epascarello 25.07.2018 20:59
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
1
58
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Вместо использования 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>

Другие вопросы по теме