Nano Hash - криптовалюты, майнинг, программирование

AngularJS ngRepeat orderBy в Chrome

У меня есть простое приложение, которое показывает строки данных в Angular. Когда контроллер изначально загружается данными, я хочу, чтобы строки отображались в том же порядке, в котором они были добавлены в мой массив rows. Таким образом, свойство orderBy изначально будет установлено в пустую строку. Щелчок по заголовку столбца должен установить для свойства orderBy соответствующее значение.

Вот моя скрипка: http://jsfiddle.net/fLjMR/3/.

Вот мой JS:

function ctrl($scope)
{
    var rows = [];
    for(var i = 10;i < 30;i++)
    {
        rows.push({name: "Fake Name " + i, email: "fakeemail" + i + "@gmail.com"});
    }

    $scope.rows = rows;
    $scope.orderBy = "";
};

Вот мой HTML:

<table ng-app ng-controller="ctrl">
    <thead>
        <th><a ng-click="orderBy='name'">Name</a></th>
        <th><a ng-click="orderBy='email'">Email</a></th>
    </thead>
    <tbody>
        <tr ng-repeat="row in rows | orderBy:[orderBy]">
            <td>{{row.name}}</td>
            <td>{{row.email}}</td>
        </tr>
    </tbody>
</table>

Когда я делаю это в IE и FF, строки изначально появляются в том порядке, в котором они были добавлены, но когда я делаю это в Chrome, средний элемент (в данном случае строка № 20) появляется в начале списка. Почему это?


Ответы:


1

Если у вас есть только одно свойство, которое вы заказываете, вы можете передать фильтру только строку, а не массив:

<tr ng-repeat="row in rows | orderBy:orderBy">
24.01.2014
  • Хм. Ну что вы знаете, это исправило это. Я знал, что вы можете избавиться от скобок, но я планировал добавить некоторые дополнительные параметры позже. Почему скобки должны иметь значение? 25.01.2014
  • Только что взглянул на угловой источник. OrderByFilter замыкается, если предикат сортировки (вещь после двоеточия) является ложным значением и возвращает несортированный массив. Пустая строка является ложным значением. Массив, содержащий пустую строку, не является ложным значением, поэтому предпринимается попытка сортировки с использованием этой пустой строки в качестве предиката. 25.01.2014
  • Отличный материал. Я думаю, ты попал! Большое спасибо! 25.01.2014
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..