фильтр orderBy в angularJS
пусть есть одномерный массив объектов - objects - в объекте есть какое-нибуть св-во - например index. надо по нему отсортировать весь массив при помощи фильтра orderBy. и заменить массив на отсортированнный.
когда мы делает таким образом ----- <div ng-repeat="object in objects | orderBy: 'index' "> <p class='inndex'> {{ object.index }}</p> </div> то эти индексы выводятся отсортированными - однако массив остается прежним. {{ objects | orderBy: 'index' }} - во view( я это называю видео-трубкой) выдает на экране монитора отсортированный массив, не могу понять как первоначальному массиву присвоить этот отсортированный. |
<!DOCTYPE html> <html ng-app="demo"> <head> <meta charset="utf-8" /> <title>AngularJS</title> <script src="https://code.angularjs.org/1.5.4/angular.js"></script> <script> var app = angular.module('demo', []); app.controller('MainCtrl', function($scope, $filter) { $scope.objects = [{index: 10}, {index: 1}, {index: 5}]; $scope.objects = $filter('orderBy')($scope.objects, 'index'); }); </script> </head> <body ng-controller="MainCtrl"> <div ng-repeat="object in objects"> <p class='inndex'> {{ object.index }}</p> </div> </body> </html> |
проверил
Эта конструкция работает только один раз в отличие от {{ objects | orderBy: 'index' }} Если динамичски менять массив объектов и индекс, то метод $filter не сортирует меняющиеся массивы - в отличие от того что я написал но я не понимаю как то что появляется на экране превратить в реальный массив |
Цитата:
|
Логично однако - сообщу о результатах
|
Все - заработало - если вы не против - я вам еще пару вопросов задам. Когда соображу как их сформулировать
|
не можете ссылку дать где описывается сотворение методов при помощи $ из фильтров и объектов типа $index
|
Часовой пояс GMT +3, время: 23:44. |