AngularJS ng-repeat не работает в Chrome

0

Я знаю, что этот вопрос задавали уже несколько раз и могут рассматриваться как дубликаты. Но я не нашел ответа и решил создать новый вопрос.

Проблема заключается в том, что ng-repeat не работает корректно в Chrome, но отлично работает в FF. Было предложение пары, чтобы исправить это, но я уже использую их, и это не помогает.

  1. Одним из предложений было использование массива в качестве модели вместо объекта. 2. Второй - использовать одинарные кавычки в буквальном порядке.

Я встретил оба условия и все еще вижу проблему в Chrome.

Вот мой код:

<a  ng-click="pred = 'price'; reverse=!reverse">
    <span></span>
</a> | 
<a ng-click="pred = 'name'; reverse=!reverse">
    <span></span>
</a> | 
<a ng-click="pred = 'time'; reverse=!reverse">
    <span></span>
</a>
<div ng-repeat="item in items | orderBy:pred:!reverse">
</div>

Также есть ссылка, которую вы можете открыть в двух браузерах. Есть элементы, отсортированные по времени (левый столбец), они сортируются в FF, но не в Chrome.

Я использую угловой 1.2.9. Пожалуйста, совет, как это решить.

  • 0
    Скрипка пожалуйста ??
Теги:
google-chrome

1 ответ

1

Возможно, причина в том, что вы не инициализировали обратную переменную.

(function(angular) {
  'use strict';
angular.module('orderByExample1', [])
  .controller('ExampleController', ['$scope', function($scope) {
    $scope.friends = [
      {name: 'John',   phone: '555-1212',  age: 10},
      {name: 'Mary',   phone: '555-9876',  age: 19},
      {name: 'Mike',   phone: '555-4321',  age: 21},
      {name: 'Adam',   phone: '555-5678',  age: 35},
      {name: 'Julie',  phone: '555-8765',  age: 29}
    ];
  }]);
})(window.angular);
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="orderByExample1">
  <div ng-controller="ExampleController" ng-init='reverse=false;'>
    <a  ng-click="pred = 'name'; reverse=!reverse">
    Name
</a> | 
<a ng-click="pred = 'phone'; reverse=!reverse">
    Phone
</a> | 
<a ng-click="pred = 'age'; reverse=!reverse">
    Age
</a>
  <table class="friends">
    <tr>
      <th>Name</th>
      <th>Phone Number</th>
      <th>Age</th>
    </tr>
    <tr ng-repeat="friend in friends | orderBy:pred:reverse">
      <td>{{friend.name}}</td>
      <td>{{friend.phone}}</td>
      <td>{{friend.age}}</td>
    </tr>
  </table>
</div>
</body>
  • 0
    Примите ответ, если он правильный. :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню